我刚才有一个关于正则表达式的问题......我真的不知道如此感谢任何帮助。
问题是:定义一个正则表达式,该正则表达式表征由a和b的所有字符串组成的语言,其中第二个和第二个字符为'b'。
关于如何开始提问的任何想法?
非常感谢
答案 0 :(得分:1)
假设你/这个问题意味着什么
仅包含'a'和'b'的字符串,第2个和第2个最后一个字符为'b'。
这可能适用于大多数正则表达式(可能需要将其括在/ /
)
^[ab]b[ab]*b[ab]$
答案 1 :(得分:1)
要解决此问题,您需要:
a
或b
开头的字符串:^(a|b)
,b
作为第二个字符`^(a | b)b a
s,b
或两者:^(a|b)b[a-b]*
b
:^(a|b)[a-b]*b
a
或b
:^(a|b)b[a-b]*b(a|b)$
/^(a|b)b[a-b]*b(a|b)$/.test(string)
使用jQuery和JavaScript的概念证明:
$('li').each(
function(i,el) {
var text = $(el).text();
if (/^((a|b)b[a-b]*b(a|b))$/.test(text)) {
$(el).addClass('matched');
}
});
参考文献:
答案 2 :(得分:0)
您所谈论的是来自formal language theory的正则表达式。我们在这里讨论的 regexes 是一个正则表达式的混合分支,它不仅仅是识别常规语言。如果你刚刚开始研究“理论纯粹的”正则表达式,你现在应该远离正则表达式。