有一些需要注意的使用與分裂操作分組?正則表達式分裂與分組
在perl的:
print join("|",split(m/(A|AND)/,"foo A bar"))."\n";
預期:
foo | bar
輸出:用於Powershell的
foo |A| bar
同預期的/輸出:
([regex]::Split("foo A bar","(A|AND)"))-join"|"
好像使用分組時,問題就出現了 - 沒有括號一切都很好:如預期
([regex]::Split("foo A bar","A|B"))-join"|"
輸出:
foo | bar
但是,當我介紹的分組,以便能夠使用多字符交替(用填充字符環繞 - 「\ S(A | AND)\ S」),分割出現行爲異常。
什麼是分裂實際上是在這裏做 - 正在執行什麼樣的分裂?爲什麼我可能期望沒有執行分割?我有什麼選擇?
是的,捕獲組產生所捕獲的數據的陣列中的一個元件。使用'(?:A | B)'來清除分隔符。擁有這個能力雖然是非常強大的。例如,你可以同時過濾和分割。 – sln