没有管道(|)字符的字符串的正则表达式是什么?

时间:2012-07-23 09:13:59

标签: regex

不应包含竖线(|)字符的字符串的正则表达式是什么?例如,"这是一个例子|"带管道符的字符串。

3 个答案:

答案 0 :(得分:4)

使用否定的character class

\A[^|]*\z

<强>解释

\A    # Start of string
[^|]* # Match zero or more characters except |
\z    # End of string

答案 1 :(得分:2)

通常,您不需要正则表达式来查明字符串是否包含在字符串中。

您没有指定语言;例如在Perl中,您可以使用tr运算符:

if( $string !~ tr/|// ) {
   ...

或者您可以查找该字符并检查其index(如果不存在则为-1):

if( index($string, '|') == -1 )
   ...

其他语言肯定有类似的语言结构(VB.NETJavaSQLMatlabC++等。)

答案 2 :(得分:0)

如果你想问的是:什么是匹配没有管道符号的行的正则表达式:答案是:^[^|]*$

匹配整数零个或多个不是|

的字符