對於我的一個項目,我想用正則表達式創建「塊」。如何用正則表達式創建「塊」
\xyz\yzx //wrong format
x\12 //wrong format
12\x //wrong format
\x12\x13\x14\x00\xff\xff //correct format
當使用Regex101測試我的正則表達式,我來到this結果:
([\\x(0-9A-Fa-f)])/gm
這就導致了一個不正確的輸出,因爲
12\x
仍然得到檢測爲正確字符串,但順序錯誤,它需要按照下面指定的順序,並且不以其他順序。
backslash x 0-9A-Fa-f 0-9A-Fa-f
任何人都可以解釋這是如何工作的,爲什麼它以這種方式工作?提前致謝!
你的意思是你需要驗證一個由這些塊組成的字符串嗎?像['^(?:\\ x [0-9A-Fa-f] {2})+ $'](https://regex101.com/r/ZUIoqF/3)?或者你是否需要用較長的字符串(['\\ x [0-9A-Fa-f] {2}'](https://regex101.com/r/8pFM79/1))匹配那些塊? –
編輯:你的第二個正則表達式的工作原理,你能告訴我爲什麼它檢查整個字符串,而不是在第一次發現後停止,就像你發佈的第一個正則表達式一樣嗎? –