PHP正则表达式
这简直快把我逼疯了 这就是我想要实现的目标: 第1部分:伪元素必须以PHP正则表达式,php,regex,Php,Regex,这简直快把我逼疯了 这就是我想要实现的目标: 第1部分:伪元素必须以[a-zA-Z0-9]开头,然后它可以有一个[.\u-]或一个空格 第2部分:必须以[a-zA-Z0-9] 第1部分可以永远重复,但必须以第2部分结束 它尝试了无数种方法,但从未奏效。使用下面的代码,如果我使用“Test_Test”(带两个“”),它会在不应该的时候工作。请帮忙 <!doctype html> 首先,您必须将-和转义为[\.\u\-],因为它是一个特殊符号,然后尝试在正则表达式前面添加
[a-zA-Z0-9]
开头,然后它可以有一个[.\u-]
或一个空格
第2部分:必须以[a-zA-Z0-9]
第1部分可以永远重复,但必须以第2部分结束
它尝试了无数种方法,但从未奏效。使用下面的代码,如果我使用“Test_Test”(带两个“”),它会在不应该的时候工作。请帮忙
<!doctype html>
首先,您必须将
-
和
转义为[\.\u\-]
,因为它是一个特殊符号,然后尝试在正则表达式前面添加^
符号尝试:
/^([[:alnum:]]+[._ -]?)+[[:alnum:]]+$/
alnum
是字母和数字的别名。试试这个:
^([a-zA-Z0-9]+[._-]{0,1})+[A-Za-z0-9]+$
这个怎么样
/^([a-zA-Z0-9]+[._ -]?)+[a-zA-Z0-9]$/
alnum的开头和结尾在这里是显而易见的,但内部部分基本上强制执行任何[.\u-]
将被“NOT[.\u-]
包围。”
这就是你想要的吗?你的意思是:“那么它可以有一个
[.\u-]
或一个空格吗?不,
在字符类中不是一个特殊的符号,-
只有在字符之间才是特殊的,而不是在字符的结尾或开头。谢谢你这么做。我不明白它为什么需要这样做。”^“当我说它应该至少有一个字母,然后是零或一个符号时,你不需要切换-
和
,或者它工作是因为ASCII表中的hypen前面有空格吗?如果它在[]
括号中,它可以在任何位置。但是你不需要用-
来表示一个范围吗?”,不是字符-
?-
必须在开头、结尾或转义(如果按字面理解)[.-]
,[-.-]
或[.-]
就可以了。你可以用?
代替{0,1}
:)非常感谢,我已经有一段时间没有做过这种事情了
/^([a-zA-Z0-9]+[._ -]?)+[a-zA-Z0-9]$/