我想找到所有包含至少1个西里尔字符的字符串(基本上是/.* [ - - ]。* /),但注释除外。
Comment是一个字符串或字符串的一部分,以2个或更多/字符开头。 目前我得到了这个正则表达式,它可以解决这个问题:
^(?=^.*?[А-я]+).*?((?=[\/]{2,})|(^(?:(?![\/]{2,}).)*$))
但我希望减少臃肿和快速表达。
另外一个问题是:有人可以解释为什么这个有效吗?我通过反复试验将它结合起来,但我不确定我是否完全理解它是如何工作的,因为当我试图在任何部分改变它时 - 它就会停止工作。
答案 0 :(得分:2)
以下正则表达式将匹配任何前面没有双正斜杠的cyrllic字符
(?<!/{2}.*)[А-я]
它指定不应使用负斜视前面的双斜杠。
您尚未指定您使用的正则表达式的哪种口味,但请注意某些口味不支持外观。例如PCRE(javascript)没有。你正在使用正则表达式中的3个,所以我认为它没问题。