2024-05-15 18:39:30 发布
网友
我有这样的绳子:
something: 20 kg/ something: 120 kg
我有这个regex ("[0-9]{1,2} kg", string),但它两次都返回20kg。我只需要在第一种情况下返回20kg。在
("[0-9]{1,2} kg", string)
20kg
试试这个:
(?<!\d)\d{1,2}\s+kg
(?<!...)是一个negative look behind。所以它匹配一个或两个数字,而不是前面跟一个数字。我还用一个或多个空格字符更改了文本空格。在
(?<!...)
看到您已经问过Python问题,下面是一个Python演示:
将打印['20 kg']
['20 kg']
正如@Tim提到的,单词边界\b就足够了:r'\b\d{1,2}\s+kg'
\b
r'\b\d{1,2}\s+kg'
试试这个:
(?<!...)
是一个negative look behind。所以它匹配一个或两个数字,而不是前面跟一个数字。我还用一个或多个空格字符更改了文本空格。在看到您已经问过Python问题,下面是一个Python演示:
^{pr2}$将打印
['20 kg']
编辑
正如@Tim提到的,单词边界
\b
就足够了:r'\b\d{1,2}\s+kg'
相关问题 更多 >
编程相关推荐