正则表达式匹配除了一些单词之外的所有小写字符

问题描述 投票:2回答:2

我想写一个RE来匹配所有小写字符和单词(特殊字符和符号不匹配),所以像[a-z] +除了两个单词truefalse

我将用它与Python。

我写过(?!true|false\b)\b[a-z]+,它有效,但它不能识别大写字母后面的小写字符(例如“This”它与“his”不匹配)。我不知道如何包括这种比赛。

例如:

  • true & G(asymbol) & false应该只匹配asymbol
  • true & G(asymbol) & anothersymbol应该只匹配[asymbol, anothersymbol]
  • asymbolUbsymbol | false应该只匹配[asymbol, bsymbol]

谢谢

regex python-3.x
2个回答
0
投票

您将需要删除\b(单词边界)并在正则表达式中使用负向lookbehind,如下所示:

(?<![a-z])(?!true|false)[a-z]+

RegEx Demo

RegEx详细信息:

  • (?<![a-z]):断言我们左边没有小写字母
  • (?!true|false):断言我们右边没有truefalse
  • [a-z]+:匹配1+小写字符

0
投票

我会创建两个正则表达式(你想混合单词边界匹配与可选的分裂单词,即AFAIK不是直接混合,你必须重新表达你的正则表达式,没有单词边界或没有分裂):

  • 第一个正则表达式:[a-z]+
  • 第二个正则表达式:\b(?!true|false)[a-z]+
© www.soinside.com 2019 - 2024. All rights reserved.