为什么以下生成两个匹配项,因此"xx"作为输出:
"Hello" -Replace '.*','x'
Run Code Online (Sandbox Code Playgroud)
虽然这只是生成一个匹配,因此只"x"在输出中:
"Hello" -Replace '^.*','x'
Run Code Online (Sandbox Code Playgroud)
我试图了解正则表达式的细微差别会导致第一个中的两个匹配?
您可以将其添加到https://regex101.com,它还会报告第一场比赛的两场比赛,"Hello"第二场比赛是""
那是因为*量词匹配零个或多个字符.在这种情况下,它匹配整个单词Hello,然后是一个空字符串.
使用.+,它将匹配至少一个字符.
当你使用^.*查看字符串开头的,它只有一个匹配,因为它不能匹配那里的空字符串,因为H在开始时有一个字符.
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |