C#正则表达式匹配单词我的目的是匹配以w开头的单词,且单词里不能包含数字,但奇怪的是为什么最后一个单词“were_rwe”没有匹配到?但只要把那个下划线去掉就可以匹配到,为什么?\w不是表示

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 10:55:15
C#正则表达式匹配单词我的目的是匹配以w开头的单词,且单词里不能包含数字,但奇怪的是为什么最后一个单词“were_rwe”没有匹配到?但只要把那个下划线去掉就可以匹配到,为什么?\w不是表示

C#正则表达式匹配单词我的目的是匹配以w开头的单词,且单词里不能包含数字,但奇怪的是为什么最后一个单词“were_rwe”没有匹配到?但只要把那个下划线去掉就可以匹配到,为什么?\w不是表示
C#正则表达式匹配单词
我的目的是匹配以w开头的单词,且单词里不能包含数字,但奇怪的是为什么最后一个单词“were_rwe”没有匹配到?但只要把那个下划线去掉就可以匹配到,为什么?\w不是表示字母、下划线或汉字么,或者我的表达式没有写对?

C#正则表达式匹配单词我的目的是匹配以w开头的单词,且单词里不能包含数字,但奇怪的是为什么最后一个单词“were_rwe”没有匹配到?但只要把那个下划线去掉就可以匹配到,为什么?\w不是表示
\w是字母数字或下划线,这是最基本会包含的,在有些编程语言以及使用中文的系统下,可能会匹配汉字,C#是其中一种.总结一下,在C#中\w表示字母数字下划线以及汉字.
你的正则不对是因为你对小括号理解的不对.导致w字符后面必须跟着偶数个字符才能匹配.
(\w\D)你其实是想写成(\w|\D)或者[\w\D]吧?
\D是任意非数字,包括字母符号汉字以及其他任何非数字的字符,\w和\D加在一起,其实就是任何字符了.比.还多匹配空白字符呢.
你应该用\bw\D+?\b