如何將a^nb^n與Java正則表達式匹配?這是一系列教育準則文章的第二部分。它展示了如何使用查找頭和嵌套引用來匹配非正則語言a。nbn..嵌套引用首先在以下內容中引入:這個正則表達式是如何找到三角數的?一個典型的非-正規語言是:L = { anbn: n > 0 }這是所有非空字符串的語言,由若干個a之后是相同數量的b該語言中字符串的示例如下ab, aabb, aaabbb.此語言可以顯示為非常規語言。泵引理..它實際上是一個原型上下文無關語言,它可以由上下文無關語法 S → aSb | ab.盡管如此,現代regex實現清楚地認識到的不僅僅是普通語言。也就是說,從形式語言理論的定義來看,它們并不是“規則”的。PCRE和Perl支持遞歸regex,而.NET支持平衡組定義。更少的“花哨”特性,例如反向引用匹配,意味著正則表達式是不正常的。但是這些“基本”功能到底有多強大呢?我們能認出L例如,使用Java regex?我們是否可以將查找器和嵌套引用組合在一起,并有一個可以與之協同工作的模式呢?String.matches來匹配字符串,如ab, aabb, aaabbb等等?參考文獻perlfaq 6:我可以使用Perl正則表達式來匹配平衡的文本嗎?MSDN.正則表達式語言元素.平衡組定義pcre.org-PCRE手冊頁正則表達式。 - 環顧四周和分組和反向引用java.util.regex.Pattern相關問題查找是否會影響正則表達式可以匹配哪些語言?.NET Regex平衡組與PCRE遞歸模式
如何將a^nb^n與Java正則表達式匹配?
慕工程0101907
2019-07-12 18:46:09