我有这个正则表达式:
^[a-zA-Z0-9]
我正在尝试选择除数字或字母之外的任何字符,但是当我测试它时,只匹配第一个字符。
当我使用
时[a-zA-Z0-9]
匹配是正确的数字和字母。我需要否定它,但^
不起作用。
答案 0 :(得分:3)
将^
放在表达式的开头意味着“从字符串的开头搜索”。您需要将其放在方括号内以使其成为否定。
[^a-zA-Z0-9]
答案 1 :(得分:3)
下面是regexp的快速摘要以及如何使用以下命令将查询集组合在一起。在您的情况下,将^
放在[a-zA-Z0-9]
内以获得所需的结果。
. Single character match except newline
"." Anything in quotations marks literally
A* Zero or more occurrences of A
A+ One or more occurrences of A
A? Zero or one occurrence of A
A/B Match A only if followed by B
() series of regexps grouped together
[] Match any character in brackets
[^] Do not match any character in brackets
[-] Define range of characters to match
^ Match beginning of new line
$ Match end of a line
{} Cardinality of pattern match set
\ Escapes meta-characters
| Disjunctive matches, or operation match
答案 2 :(得分:1)
要否定你必须将^
放在括号内:
[^a-zA-Z0-9]