我有一个像
这样的正则表达式f[uW&&[^s,]][cW&&[^s,]]?k(?!(uoka|uyama|ushima|nowledge))
找到一些f个单词,但它在Java中工作,但它不能在Javascript中找到f个单词,这个表达式在Java和Javascript中有什么不同?以及如何解决它,任何人都可以给我一个想法,谢谢。
我试着改变"]]"到"]",似乎它在Javascript中工作,但我不知道为什么,括号不是以这种方式配对
JavaScript不支持类交集操作符&&
。
因此,JavaScript在解析[uW&&[^s,]]
时不会以这种方式处理&&
。Java将其解释为:
匹配u
或非字母数字字符,但不包括空格和逗号。
您可以通过对"但不是…"使用反向查找来转换它。部分:(?![s,])[uW]
。同样的解决方法也适用于[cW&&[^s,]]
。
这就导致了这个正则表达式:
f(?![s,])[uW](?![s,])[cW]?k(?!(uoka|uyama|ushima|nowledge))