我使用很長的正則表達式,是相當困難的,如果你沒有在前面的5分鐘內寫神交 -代碼格式化 - 減輕無法識別的大型正則表達式的方法?
"/([^\s]+)\s*[^\[]+\[([^\]]+)\]\s*"([^\s]+)\s*([^\s]+)\s*([^"]+)"\s*([^\s]+)\s*([^\s]+) \s*"([^"]+)"\s*"([^"]+)"/
是否有代碼格式化長的正則表達式的一個普遍採用的方式,使更好的可讀性?
我想過把每個捕獲組自身的線,例如
/([^\s]+)
\s*[^\[]+\[([^\]]+)
\]\s*"([^\s]+)
\s*([^\s]+)
\s*([^"]+)
"\s*([^\s]+)
\s*([^\s]+)
\s*"([^"]+)
"\s*"([^"]+)"/
這將是極好的,如果我可以把註釋行通過正則表達式的每個部分線路,但紅寶石不會讓我。
我對使用大正則表達式處理的一般問題比對解析文本的更好方法更感興趣......這個特殊情況只是我在學習一些Ruby時自己設定的練習的一部分。
是不是嚴格意義上講找一個Ruby的答案,但會做:) – iftheshoefritz
的'x'標誌忽略空白應該適用於大多數所有正則表達式引擎。例如perl:http://codepad.org/drD1QRiA –
好棒 - 感謝您的提示! – iftheshoefritz