从文本文件中我必须找到包含包含百分比(数字+%或百分比)的所有行,因此我创建了一个正则表达式,但它无法正常工作。
正则表达式字符串:\b(\d+(%|(percent)))\b
我的输入是
对于前两种情况,它不匹配,但对于第三和第四种情况有效。
我的要求是识别数字+%或百分比的行,并且周围应该没有alphabate或数字
答案 0 :(得分:5)
%
之后的单词边界阻止它在非单词字符之前匹配。
使用
\b\d+(?:%|percent\b)
请参阅regex demo
模式匹配:
\b
- 领先的单词边界\d+
- 1+位数(?:%|percent\b)
- 两种选择之一:
%
- 百分号percent\b
- 单词percent
后跟单词边界。答案 1 :(得分:0)
你可以试试这个:
[^a-zA-z]((\d+)((\u0025)|(percent)))[^a-zA-z0-9]
返回在所需值之前和之后都有空格或标点符号的值。