我的正则表达式有问题,我试图在特殊字符串后提取字符串/数字/。
我有这个字符串:
测试3098
TEST与其值之间有6个空格,但我不太确定它是否总共6个空格。我正在尝试这个正则表达式(PCRE)
(?<=TEST\s\s\s\s\s\s).*?(?=\s)
结果应该是3098.使用我的正则表达式,我得到了正确的结果,但它不够强大,如果空格的数量改变,我将无法提取它。外观应该是有限的尺寸。有什么建议?
你可以用
TEST\s*\K\S+
如果空格的数量应设置为某个最小/最大数量,请使用limiting quantifier,\s{2,}
将匹配两个或更多,\s{1,10}
将允许1到10个空格。
细节
TEST
- TEST
\s*
- 0个或更多的空格\K
- match reset operator省略了与整个匹配内存缓冲区匹配的文本\S+
- 1+非空格