.NET VS JS正则表达式的问题

我有一个相当复杂的正则表达式,我终于设法在JS.NET VS JS正则表达式的问题

^\s*((\(\s*([^]+\"|[@#a-zA-Z0-9_-åäöøæüßÅÄÖØÆÜ\-]+){1}(\s{1,}OR\s{1,}(\"[^\"]+\"|[@#a-zA-Z0-9_-åäöøæüßÅÄÖØÆÜ\-]+))*\s*\)))((\s{1,}(AND|NEAR(\/(100|[0-9][0-9]?)(?=\s))?)\s{1,})(\(\s*(\"[^\"]+\"|[@#a-zA-Z0-9_-åäöøæüßÅÄÖØÆÜ\-]+){1}(\s{1,}OR\s{1,}(\"[^\"]+\"|[@#a-zA-Z0-9_-åäöøæüßÅÄÖØÆÜ\-]+))*\s*\)))?(\s{1,}(AND\s{1,}NOT)\s{1,}(\(\s*(\"[^\"]+\"|[@#a-zA-Z0-9_-åäöøæüßÅÄÖØÆÜ\-]+){1}(\s{1,}OR\s{1,}(\"[^\"]+\"|[@#a-zA-Z0-9_-åäöøæüßÅÄÖØÆÜ\-]+))*\s*\)))?(?=(\s*\))?(\;)?\s*$) 

与文本的工作:(TITLE: “asdasd”)

但是,当我送将文本添加到C#后端,并使用它失败的相同正则表达式。 有什么地方我可以找出它失败的原因吗?我尝试了一些不同的在线工具,但他们都没有解释为什么它不起作用。

我只需要在正确的方向指向这里,因为我很新与正则表达式的工作。谢谢!

回答:

的问题是[^]您在表达式中使用。在JS语法中,它匹配包括换行符在内的任何字符。在.net语法中,这不是一个有效的正则表达式标记。

您应该能够使用[\s\S]作为两个替代,匹配包括换行符的任何字符。

以上是 .NET VS JS正则表达式的问题 的全部内容, 来源链接: utcz.com/qa/262313.html

回到顶部