相关疑难解决方法(0)

有什么区别.*?和.*正则表达式?

我正在尝试使用正则表达式将字符串分成两部分.字符串格式如下:

text to extract<number>
Run Code Online (Sandbox Code Playgroud)

我一直在使用(.*?)<,<(.*?)>哪个工作正常,但在阅读了一点regex之后,我才开始想知道为什么我需要?表达式中的.我通过这个网站找到它们之后才这样做,所以我不确定它们之间的区别.

regex regex-greedy

126
推荐指数
3
解决办法
9万
查看次数

20
推荐指数
3
解决办法
3万
查看次数

正则表达式'(?<=#)[^#] +(?=#)'如何工作?

我在C#程序中有以下正则表达式,并且难以理解它:

(?<=#)[^#]+(?=#)
Run Code Online (Sandbox Code Playgroud)

我会把它分解为我认为我理解的内容:

(?<=#)    a group, matching a hash. what's `?<=`?
[^#]+     one or more non-hashes (used to achieve non-greediness)
(?=#)     another group, matching a hash. what's the `?=`?
Run Code Online (Sandbox Code Playgroud)

所以这个问题我已经是?<=?<组成部分.从阅读MSDN,?<name>用于命名组,但在这种情况下,尖括号永远不会关闭.

?=在文档中找不到,搜索它真的很难,因为搜索引擎大多会忽略那些特殊的字符.

regex lookahead lookbehind lookaround

20
推荐指数
1
解决办法
3521
查看次数