我有下面的字符串**dataOne[1][2][3]./../dataTwo[4][5][6].dataThree/./dataFour,我想查找前面没有.或/的子字符串./的所有匹配项。我写了下面的正则表达式,例如(?!(\/|\.))\.\/**,我希望只匹配位于dataOne[1][2][3]子字符串之后的./子字符串的第一个匹配项,但它不起作用:有人知道问题出在哪里吗?
dataOne[1][2][3]./../dataTwo[4][5][6].dataThree/./dataFour
.
/
./
(?!(\/|\.))\.\/
dataOne[1][2][3]
uoifb46i1#
负lookbehind是用(?<!)来指定的,而不是(?!),后者是用于负lookaheads的。另外,你可以用一个字符类来表示你想列入黑名单的字符。把这些放在一起,你可以使用下面的正则表达式模式:
(?<!)
(?!)
(?<![./])\./
1条答案
按热度按时间uoifb46i1#
负lookbehind是用
(?<!)
来指定的,而不是(?!)
,后者是用于负lookaheads的。另外,你可以用一个字符类来表示你想列入黑名单的字符。把这些放在一起,你可以使用下面的正则表达式模式:Demo(第一个字母)