我正在努力学习正则表达式。它应该只匹配那些由|
分隔的3个单词列表的字符串。
单词可能包含任何字符(当然没有换行符等),但|
示例:
word01|wörd|wä4rd # only this should be matched
word04|würd|wä4rd|of
word02|wörd|wä4rd|off|j
word01|wörd
我想匹配那些只有2 |
的人。一个简单的计数功能可以做到这一点,但在我的情况下这是不可用的。所以我需要一个正则表达式。
这显然不起作用:
^[^\|]+\|[^\|]+\|+[^\|]$
正确的正则表达式是什么?我的方法出了什么问题?
答案 0 :(得分:2)
您错放了最后一个+
符号,而不是:
^[^\|]+\|[^\|]+\|+[^\|]$
使用
^[^\|]+\|[^\|]+\|[^\|]+$
// ^____^
答案 1 :(得分:2)
正确的是:'^[^|]+\|[^|]+\|[^|]+$'
答案 2 :(得分:1)
你可以简单地这样做
^([^|]+\|){2}[^|]+$