我有一些文字
"Lorem ipsum dolor sit amet, consectetuer adipiscing elit."
Run Code Online (Sandbox Code Playgroud)
我有一个正则表达式,它是从用户输入生成的.
@".*ip.*"
Run Code Online (Sandbox Code Playgroud)
这正如你所期望的那样匹配整行,所以我用字边界包装这个表达式.
@"\b.*ip.*\b"
Run Code Online (Sandbox Code Playgroud)
因为处理器是贪婪的,所以这仍然匹配整个文本.所以,我试过让重复变得懒惰.
@"\b.*?ip.*?\b"
Run Code Online (Sandbox Code Playgroud)
这是更好但匹配
Lorem ipsumdolor sit amet, consectetuer adipiscing如何扩展原始@".*ip.*"模式,使其懒惰地匹配整个单词和捕获?
ipsumadipiscing这个正则表达式测试器可能对回答问题很有用
为什么不使用\w*而不是.*?:
@"\w*ip\w*"
Run Code Online (Sandbox Code Playgroud)
这也将匹配_,0-9因为它包含在内\w.如果要排除它,可以[a-zA-Z]*显式使用而不是\w那里.