匹配字符串的正则表达式以<i和=“” not =“”跟=“ =” by =“”'mg'=“”和=“” end =“” with =“”'=“”>'

时间:2018-06-26 10:53:40

标签: java regex

我需要检查字符串是否以<i开头,然后紧接着不是mg,而应该以{{1​​}}结尾

我尝试了以下正则表达式,但没有用。

>
  • <[iI][^(mg|MG)][^>]*> :应匹配并返回true
  • <i>:应匹配并返回true
  • <ind value="abc">:不应该匹配并返回false

请帮助我,谢谢。

1 个答案:

答案 0 :(得分:2)

您可以在负前瞻的情况下使用此正则表达式:

(?i)<i(?!mg)[^>]*>

RegEx Demo

RegEx说明:

  • (?i):忽略大小写的修饰符
  • <i:匹配文字<i
  • (?!mg):否定前瞻,断言我们在下一个位置没有mg
  • [^>]*:匹配0个或多个不是>的字符
  • >:匹配文字>