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

时间:2018-09-05 10:27:35

标签: regex python-3.x

我想写一个RE来匹配所有小写字符和单词(特殊字符和符号不应匹配),所以像[az] +一样,除了两个单词truefalse。 / p>

我将在Python中使用它。

我已经写过(?!true|false\b)\b[a-z]+,它可以工作,但是不能识别大写字母后面的小写字符(例如,使用“ This”,它与“ his”不匹配)。我不知道该如何包含这种比赛。

例如:

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

谢谢

2 个答案:

答案 0 :(得分:0)

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

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

RegEx Demo

RegEx详细信息:

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

答案 1 :(得分:0)

我将创建两个正则表达式(您想将单词边界匹配与可拆分的单词分开混合使用,即AFAIK不能直接混合使用,您必须重新定义不带单词边界或不拆分的正则表达式):

  • 第一个正则表达式:[a-z]+
  • 第二个正则表达式:\b(?!true|false)[a-z]+