我正试图找出如何压缩模式匹配规则的数量,我需要创建这些规则,以适应我在派克街西南角看到一个人的情况。对于“西南角”,我不想为每个方向变化(N、S、E、W等)编写匹配规则。我试着用下面的方法来做,但是不对。好吧,它起作用了,但它也能吸收其他东西
例如:
matcher.add("DIRECTION", None,
[{}, {"TEXT":{"REGEX":"(?:N)|(?:S)|(?:E)|(?:W)|(?:NW)|(?:NE)|(?:SW)|(?:SE)"}}, {"LOWER":"corner"}]
)
我希望能够使用OR语句,但我不确定如何使用单字符或双字符(N、S、E、W、NW、NE、SW、SE)
我做错了什么
使用字符集https://regex101.com/r/Nx19GG/1
有关正则表达式语法的入门知识,请参阅Python文档:https://docs.python.org/3/library/re.html#regular-expression-syntax
不要过度使用非捕获组,
(?:SW)
与SW
相同另外,您不想在
SED
标记中匹配SE
,请使用锚、^
和$
使用
见proof
不区分大小写的变体:
解释
相关问题 更多 >
编程相关推荐