我正在更新一些我没有写的代码,其中一部分是正则表达式,如下所示:
\[url(?:\s*)\]www\.(.*?)\[/url(?:\s*)\]
我明白了。*?对第二个寄存器中的所有内容进行非贪婪匹配。
第一个和第三个寄存器中的 ?:\s* 是做什么的?
更新:根据要求,.NET 3.5 上的语言是 C#
最佳答案
(?:)
语法是一种在子表达式周围放置括号的方法, 单独提取字符串的那部分。
作者想匹配中间的(.*?)
部分,不希望开头结尾的空格碍事。现在您可以使用 \1
或 $1
(或您特定语言中的任何适当方法)来引用域名,而不是字符串的开头
关于c# - 我有两个问题,其中一个是正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1320071/