1
我需要使用正則表達式來解析字符串。正則表達式使用OR表達式的VBScript(|)
大多數時候,該字符串可以使用表達式
^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,21})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})
有時,字符串需要包括額外的4個字符,所以表達式將是
^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,25})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})
由其自身表達將被解析工作在他們各自的字符串。第一個對於用於第二個表達式的字符串在技術上也是有效的,但表達式的。{0,9}部分將被關閉4個字符。
A quick explanation of the expression: Subset 1: 1 - 21 (or 25 characters) any characters a-z any characters A-Z the dash, the comma any digits 0-9 the open and close parenthesis, the hash tag, forward slash, space and period. Subsets 2-7 Any characters (up to 9 total)
我希望這樣的事情表達低於
^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,21|25})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})
OR
^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,21}|{1,25})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})
我想這和他們沒有工作。任何人有任何想法?
或者它的一組1到分裂21個字符和一個可選的4個字符組:'^([a-zA-Z \ - \,0-9 \(\)\#\/\。] {1,21} - {0-9 \(\)\#\/\。{4})?)(。{0,9}){6}'如果第二個捕獲組具有最後4個字符適用。 – AutomatedChaos
@AutomatedChaos這將匹配組22-24個字符;它相當於'... {1,25}',這是OP所說的不起作用的。事實上,我認爲真正的問題是,模式只是定義不清(應該怎麼知道將最後的0-54個字符分成6組?),但沒有進一步的信息,這是我能給出的最佳答案。 –
是的,你是對的;第一個可以匹配一個19長的字符串,第二個匹配長度爲4的字符串,使其匹配長度爲23的字符串。 當我看到這個問題時,它突然出現在我的腦海中:並非每個問題都適合用正則表達式解決。 – AutomatedChaos