1
什麼(?=。* [^ A-ZA-Z])平均什麼呢(?=。* [^ A-ZA-Z])的意思
我在正則表達式一個初學者,沒有得到這是什麼意思 。
難道就是這樣,點(。)表示任何字符,所以.*
表示任何字符的任意次數,[^a-zA-z]
除了a-z和A-Z以外的任何一個字符。 什麼字符串會匹配它?
感謝,
普尼特
什麼(?=。* [^ A-ZA-Z])平均什麼呢(?=。* [^ A-ZA-Z])的意思
我在正則表達式一個初學者,沒有得到這是什麼意思 。
難道就是這樣,點(。)表示任何字符,所以.*
表示任何字符的任意次數,[^a-zA-z]
除了a-z和A-Z以外的任何一個字符。 什麼字符串會匹配它?
感謝,
普尼特
這是積極的前瞻主張。
這意味着至少有一個符號不是從a-ZA-Z
開始。
實施例:
$ echo 12abc | grep -P '2(?=.*[^a-zA-Z])'
$ echo 12abc. | grep -P '2(?=.*[^a-zA-Z])'
12abc.
在第一行有2
後無not a-zA-Z
。線路將不會顯示。
在第二行中,我添加了指向結尾的內容。現在2
之後有not a-zA-Z
。線路將被找到並顯示。
當你不理解像這樣的正則表達式時,請轉到http://gskinner.com/RegExr/之類的在線工具,粘貼你的註冊表項,然後將鼠標懸停在註冊表項的每個部分上工具提示解釋它的功能。 – 2012-07-27 08:58:54
另請參閱:http://stackoverflow.com/questions/2491930/is-there-an-online-regexbuddy-like-regular-expression-analyzer – 2012-07-27 08:59:31
我發誓與[正則表達式教練](http: //www.weitz.de/regex-coach/)來處理這類事情。還有一些替代品,包括一些基於網絡的。正則表達式教練(除其他外)給出了正則表達式的描述;這裏表示這是一個「零寬度積極的預測斷言」,然後你可以使用它來找到[Regular-Expressions.info](http://www.regular-expressions.info/)上的含義。 – 2012-07-27 09:01:36