1
我不明白爲什麼會這種模式爲什麼這個正則表達式與該輸入匹配(PCRE)?
^[A-Za-z0-9\.,-\?]+$
將匹配輸入,如下:
should-match
should-match-2.no.problem.cool.with.me.
however:this->should;not;match=yet=it=does.
畢竟,> : ; =
不包括在該模式。
我不明白爲什麼會這種模式爲什麼這個正則表達式與該輸入匹配(PCRE)?
^[A-Za-z0-9\.,-\?]+$
將匹配輸入,如下:
should-match
should-match-2.no.problem.cool.with.me.
however:this->should;not;match=yet=it=does.
畢竟,> : ; =
不包括在該模式。
是的,他們是。當您在[]
模式中使用-
時,您的意思是從左側的字符到右側的字符。所以,-?
實際上意味着從ASCII字符,
變爲ASCII字符?
,其包括其間的所有字符。這包括您發佈的內容。
你可以把-
在[]
組的結束,然後它代表本身,而不是意字符的範圍,也可以逃避它,通過預先在它前面一個\
字符,如\-
。
沒有深入研究 - 在你的角色課中有一個可疑的未經轉義的減去。 –
@SebastianProske你是對的! –
逃避'-',讓你擁有'^ [A-Za-z0-9 \。,\ - \?] + $',你不需要在字符類中轉義'?'或'.'現在你有'^ [A-Za-z0-9。,\ - ?] + $' – dawg