RegEx javascript匹配连续2次出现的角色但不多

时间:2016-10-14 01:34:09

标签: javascript regex

我需要正则表达式的帮助。我必须匹配&#34; {{&#34;在字符串的开头但不是&#34; {{{&#34;。我尝试使用var postresponse; var initpost=post('findpics.php'); //fails 1st click if i remove this function post(php,vars){ $.post(php,vars,function(data){ postresponse=data; }) return postresponse; } $uploadpic.click(function(){ var pics_array=post('findpics.php').split(','); $pics.empty(); $.each(pics_array, function(val,text) { $pics.append( $('<option></option>').val(text).html(text) )}); $picbox1.attr('src','/contentuploads/'+$('#pics option:selected').text()); $dgbox.fadeIn(750); } ); ,但它匹配&#34; {{{&#34;。我试图匹配&#34; {{{&#34;使用^[{]{2},但我不知道如何匹配&#34; {{&#34;再次。

我知道我可以通过if语句解决它。但我想在正则表达式中一次性完成。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Regex101

^{{[^{]^[{]{2}[^{]都可以使用

描述

^ asserts position at start of a line
{{ matches the characters {{ literally (case sensitive)
Match a single character not present in the list below [^{]
    { matches the character { literally (case sensitive)

答案 1 :(得分:1)

使用否定前瞻:

const re = /^{{(?!{)/;

console.log("{{{".match(re));
console.log("{{a".match(re));