我想引用一段字符串作爲更大的正則表達式內的字符串,並且該表達式需要符合POSIX Extended Regular Expressions格式。如何在Java中爲POSIX擴展格式轉義正則表達式文本
這個問題是非常相似this existing question,除了答案了,不能使我滿意,因爲它提出了我使用Pattern.quote()
,這依賴於特殊\Q
和\E
標記 - 這些都是由Java的正則表達式的支持,但做不符合到POSIX擴展格式。
例如,我想one.two
變成one\.two
而不是\Qone.two\E
。
只適用於單個字符。 – 2011-03-01 12:01:00
你是什麼意思?它適用於我可以隨身攜帶的所有示例。 – maaartinus 2011-03-01 12:05:23
@Sean:它一次替換一個字符*,但是'replaceAll()'遍歷字符串中的所有字符。儘管如此,取代這個角色確實需要大量的代碼。我一直都是這麼做的@布賴恩的方式;它*非常容易閱讀。 – 2011-03-01 13:25:09