【发布时间】:2019-11-01 15:46:52
【问题描述】:
我正在尝试匹配字符串
-
front/和back/都应该忽略大小写并至少包含一个非空白字符 - 这两个可以是任意顺序
- 必须以任一组开头
以下内容有效:
front/asd dsa back/qwe ewq
back/dsafront/asd
但不是以下:
asd front/asd back/qwe
front/asd back/asd front/asd
我在 java 中尝试过以下方法:
^(?=(((?i)front/)|((?i)back/)))(?=.*front/\s*\S)(?=.*back/\s*\S)
但当存在多个front/ 或back/ 时它不会失败。
【问题讨论】:
-
^(front/.*back/.*|back/.*front/.*)$有什么问题? -
很好,我错过了那个。你能把它作为答案吗?
-
好的,我想我一定误解了问题的要求,但如果这是你要找的,那就太好了。
-
我正在考虑多重性,因为我必须做的另一个正则表达式是一个前面至少一个后面的意思,这意味着可以有多个后面但只有一个前面。所以我想我应该在这个问题中检测一个多重性。但是你的解决方案可以解决这个问题。
标签: java regex regex-lookarounds