如果字符仅在特定位置出现特定次数,如何匹配正则表达式
How to match regex if a character is only present a specific number of times at a specific place
我正在尝试编写一个正则表达式来捕捉输入是否是这样的
>>item<<price!quantity
,但我对“<<”部分有问题,因为如果它看起来像我的正则表达式也会捕获
>>item<<<price!quantity
,但这不正确,因为“<<”部分是“<<<”,它只能是“<<”,而不是“<”或“<<<”
尽可能接近的正则表达式
^>>\w.*<{2}\d.*!\d.*
如果你想坚持你的模式,你可以通过在 <<
:
之前添加一个 (?<!<)
负面回顾来修复它
^>>\w.*(?<!<)<<\d.*!\d.*
# ^^^^^^
见regex demo。注意 <<
比 <{2}
短并且 (?<!<)
确保在 <<
子字符串之前没有其他 <
。
我正在尝试编写一个正则表达式来捕捉输入是否是这样的
>>item<<price!quantity
,但我对“<<”部分有问题,因为如果它看起来像我的正则表达式也会捕获
>>item<<<price!quantity
,但这不正确,因为“<<”部分是“<<<”,它只能是“<<”,而不是“<”或“<<<”
尽可能接近的正则表达式
^>>\w.*<{2}\d.*!\d.*
如果你想坚持你的模式,你可以通过在 <<
:
(?<!<)
负面回顾来修复它
^>>\w.*(?<!<)<<\d.*!\d.*
# ^^^^^^
见regex demo。注意 <<
比 <{2}
短并且 (?<!<)
确保在 <<
子字符串之前没有其他 <
。