C#正则表达式以哪些词开头?

dav*_*vid 1 c# regex

如何使用正则表达式来获取以! ?例如开头的单词!Test.

我尝试了这个,但它没有给出任何匹配:

@"\B\!\d+\b"
Run Code Online (Sandbox Code Playgroud)

虽然它没有工作时,我更换了!$.

Tim*_*ker 6

我说你的正则表达式已经很好了,你只需要使用\w(字母数字字符)而不是\d(数字):

@"\B!\w+\b"
Run Code Online (Sandbox Code Playgroud)

将匹配任何紧接在a前面的单词,!除非它!本身前面有一个单词本身(这就是\B断言).使用a代码^会将匹配限制为从行开头开始的单词,这可能不是您想要的.

所以这将匹配所有单词,包括!此行中的前一个单词:

!hello !this ...!will !!!be !matched!
Run Code Online (Sandbox Code Playgroud)

但是这一行中没有一个词:

this! won't!be matched!!! 
Run Code Online (Sandbox Code Playgroud)

\B如果你不介意匹配!that,你也可以放弃this!that.