C#正则表达式匹配单词我的目的是匹配以w开头的单词,且单词里不能包含数字,但奇怪的是为什么最后一个单词“were_rwe”没有匹配到?但只要把那个下划线去掉就可以匹配到,为什么?\w不是表示
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 18:34:38
![C#正则表达式匹配单词我的目的是匹配以w开头的单词,且单词里不能包含数字,但奇怪的是为什么最后一个单词“were_rwe”没有匹配到?但只要把那个下划线去掉就可以匹配到,为什么?\w不是表示](/uploads/image/z/8798914-10-4.jpg?t=C%23%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D%E5%8D%95%E8%AF%8D%E6%88%91%E7%9A%84%E7%9B%AE%E7%9A%84%E6%98%AF%E5%8C%B9%E9%85%8D%E4%BB%A5w%E5%BC%80%E5%A4%B4%E7%9A%84%E5%8D%95%E8%AF%8D%2C%E4%B8%94%E5%8D%95%E8%AF%8D%E9%87%8C%E4%B8%8D%E8%83%BD%E5%8C%85%E5%90%AB%E6%95%B0%E5%AD%97%2C%E4%BD%86%E5%A5%87%E6%80%AA%E7%9A%84%E6%98%AF%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E5%8D%95%E8%AF%8D%E2%80%9Cwere_rwe%E2%80%9D%E6%B2%A1%E6%9C%89%E5%8C%B9%E9%85%8D%E5%88%B0%3F%E4%BD%86%E5%8F%AA%E8%A6%81%E6%8A%8A%E9%82%A3%E4%B8%AA%E4%B8%8B%E5%88%92%E7%BA%BF%E5%8E%BB%E6%8E%89%E5%B0%B1%E5%8F%AF%E4%BB%A5%E5%8C%B9%E9%85%8D%E5%88%B0%2C%E4%B8%BA%E4%BB%80%E4%B9%88%3F%5Cw%E4%B8%8D%E6%98%AF%E8%A1%A8%E7%A4%BA)
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