在正则表达式中排除一个字符?

时间:2014-10-24 17:57:28

标签: java regex

我一直试图在此RegEx中排除一个角色,我无法弄清楚如何。

如果我有此RegEx:.*(horario|horarios|hora).*

我想在“hora”比赛前排除字母“a”,怎么做呢?我试过了 我试过了      *

*.(horario|horarios|((?!a)hora).*
*.(horario|horarios|[^a]hora).*

但它不起作用。

提前感谢您的回答!

我只想排除那个单一字符,只为那个字。

1 个答案:

答案 0 :(得分:2)

你可以使用负面的背后隐藏

(?<!a)hora

正则表达式可以

.*(?<!a)(horario|horarios|hora).*
找不到匹配时

(?<!a)成功

(horario|horarios|hora).*匹配任何模式,合并确保a不能在hora之前

http://regex101.com/r/aK8qI0/1