2009-10-27 77 views
1

我學習正則表達式,並不好受。有誰能告訴我,如果我在這兩個問題的正確道路上?正則表達式質疑

- 用正則表達式(a | b)(c | elipson)指定的語言列出單詞 - 我想答案是ac,bc,a,b。我對嗎?

-Give正則表達式識別與奇數的的的所有單詞。 - 我想到的是(A)(AA)*。如果我沒有錯,當單詞只是'a'時,這應該總是與異常一起工作。如果這個詞只是'a',我怎麼能修改它以使其工作?

回答

4
  • 假設「epsilon」表示空字符串,那麼你是正確的。

  • 你也與(A)(AA)正確*。在正則表達式語法中查找*意味着什麼(並將其與+的含義進行比較)。

1

你的第二個答案只給出了有1,3,5,...... A的順序話。如果您想包含所有的話 - 在任何地方 - 奇數的年代,你會想這樣的somethig:

/a([^\s]*a[^\s]*a)*/

如果你嚴格,不希望得到與hypens話或其他非字母字符,這應該這樣做:

/a([\w]*a[\w]*a)*/

(根據不同的正則表達式引擎,你需要[a-z]

更換[\w]