好的,我的一个朋友用他在一段代码中找到的正则表达式与我对质,我一点经验都没有。我试图弄清楚,我真的认为它很基本,但我遇到了麻烦。
表达式为:^(.*?){0,1}>$
所以这是我从各种教程和定义中收集到的:
^
代表“开始”和$
结束,因此它们之间的表达式必须描述完整的字符串才能被选中。*?
是一个惰性运算符(意味着它首先尝试取前面字符的 0,如果不匹配,则取 1、2、3 等)。(.*?)
所以这必须意味着“尽可能少的字符”。(.*?){0,1}
: 现在我的麻烦开始了。“尽可能少取字符,零次还是一次”?^(.*?){0,1}>$
:“尽可能少的字符,零次或一次,字符 > 后跟结束”?
这基本上意味着“选择所有内容,如果 > 在字符串的末尾”?我很困惑......如果有人能对这个(我猜是非常基本的)问题有所了解,我将不胜感激......
编辑:好的,为了防止误解,在这种情况下使用正则表达式:
.replace(/^(.*?){0,1}>$/,"$1/>");