Ker*_*vvv 1 regex
我有字符串id=0515 abcdefghijk.为了只匹配0515,我创建了以下正则表达式:((?<=id=).*(?<=\s)).
id=0515 abcdefghijk
0515
((?<=id=).*(?<=\s))
我的结果是0515(包括id和字母之间的空格).
如果我将我的正则表达式更改为以下内容(用实际空格替换'\ s'),我得到的结果只是最后没有空格的数字: ((?<=id=).*(?= ))
((?<=id=).*(?= ))
是否可以使用实际空格而不是字符代码?或者我的正则表达式需要更多的工作?
Obs*_*Age 5
不同的是, specifically matches a space, while \s将匹配任何空白字符(\r,\n,\t,\f和\v).
\s
\r
\n
\t
\f
\v
虽然没有什么错的正则表达式的使用空间,考虑到你只寻找数字,为什么不直接使用\d(匹配所有数字,0来9)?
\d
0
9
这将显着降低你的正则表达式,并获得相同的结果,如这里所见.
希望这可以帮助!:)
归档时间:
7 年,10 月 前
查看次数:
742 次
最近记录: