1
請參見下面的DFA http://i.stack.imgur.com/iH3RM.png嘗試在斯卡拉
通過JFLAP創建使用jflap正則表達式。當我轉換爲正則表達式,JFLAP給出:
p+(q+pq)(pq)*(λ+p)
當我把它貼在斯卡拉REPL:
scala> val regex = "p+(q+pq)(pq)*(+p)".r
java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 14
p+(q+pq)(pq)*(+p)
^
at java.util.regex.Pattern.error(Unknown Source)
我有兩個簡單的問題。
這是正確的正則表達式嗎?爲什麼它包含λ?
如何在Scala中使用它,因爲當我粘貼到repl中時λ不能正確顯示?
哇謝謝你。我嘗試用|替換+,並且下面的作品完美。 (pq)*(| p)「。正則表達式:scala.util.matching.Regex = p |(q | pq)(pq)*(| p) –