我已经找到了寻找第n次事件的解决方案,但找不到每一个第n次事件。
我有像"key1~value1~key2~value2~key3~value3~“这样的字符串。
与~每秒发生匹配的正则表达式是什么?
key1~value1~key2~value2~key3~value3~
我正在尝试为Elasticsearch创建一个自定义模式安化器,即regex应该匹配令牌分离器,而不是令牌。
发布于 2016-05-05 10:25:16
你可以用
~(?=(?:[^~]*~[^~]*~)*[^~]*$)模式匹配:
~ -后面跟着.(?=(?:[^~]*~[^~]*~)*[^~]*$) - 0+非倾斜+ ~ x 2次,0+倍,然后0+非倾斜直到字符串结束.因此,这个检查确保在匹配第一个倾斜点之后,直到字符串末尾的倾斜数是偶数。

发布于 2016-05-05 10:08:08
您需要确保在此之前没有偶数的~:
(?<!^([^~]*~[^~]*~)*[^~]*)~在网上试试!
它的工作原理:
(?<!^([^~]*~[^~]*~)*[^~]*)~ Our regex.
~ Matches a tilde (~).
(?<! ) Assert that before it is not:
^ the beginning
( )* followed by zero or more times:
[^~]*~[^~]*~ two tildes, no matter what comes within
[^~]* followed by non-tildes.发布于 2016-05-05 09:56:38
第一组不重叠发生的~.*?(~).试试:http://regexr.com/3dc15。
https://stackoverflow.com/questions/37047503
复制相似问题