2012-02-10 79 views
3

以下兩個正則表達式在功能上是否相同?我問,因爲當我交換它們時會得到不同的結果,所以我想我知道答案是它們不是等價的。但是,我不明白爲什麼。這兩個正則表達式在功能上是否相同?

(,|$) 

[,$] 

我基本上是尋找一個逗號或最終的線。

回答

7

第一個指的是逗號或end_of_line

第二裝置逗號或美元符號類內部

Generaly特殊字符失去其特殊的意義。

因此,對於您的問題:

我基本上是尋找一個逗號或最終的線。

使用第一個(,|$)

0

號的方括號將把$爲字符,從而消除由於行標記結束的地位。

1

我認爲,當你把$到支架它被認爲是像美元字符和線條

還沒結束,你會發現這裏的更多信息: http://www.regular-expressions.info/charclass.html

提取物:

字符類內部的元字符

請注意,中唯一的特殊字符或元字符字符類是右括號(]),反斜槓(), 插入符號(^)和連字符( - )。通常的元字符在字符類內部是正常的 字符,並且不需要被 反斜槓轉義。要搜索星號或加號,請使用[+ *]。你的正則表達式 工作正常,如果你逃避字符 類中的常規元字符,但這樣做會顯着降低可讀性。

相關問題