Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式字符串最多包含一个“”_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式字符串最多包含一个“”

Javascript 正则表达式字符串最多包含一个“”,javascript,regex,Javascript,Regex,如果字符串中超过1次,则需要正则表达式按模式排除匹配字符串 var srg = new RegExp(/([a-z0-9#]+[\s])/g); 字符串: fdsffmsd,fmsd qwjswkds03sj ewew rfekwjkr#jfkdlsf wiru0ksd#erjk#jkls # casdw##kfdl 结果 fdsffmsd,fmsd qwjswkds03sj EWW rfekwjkrjfkdlsf WIRU0KSDERJKLS casdwkfdl 谢谢 更新:

如果字符串中超过1次,则需要正则表达式按模式排除匹配字符串

var srg = new RegExp(/([a-z0-9#]+[\s])/g);
字符串:

fdsffmsd,fmsd 
qwjswkds03sj 
ewew 
rfekwjkr#jfkdlsf 
wiru0ksd#erjk#jkls 
# 
casdw##kfdl 
结果

fdsffmsd,fmsd

qwjswkds03sj

EWW

rfekwjkrjfkdlsf

WIRU0KSDERJKLS

casdwkfdl

谢谢

更新:

请原谅我没有很好地解释任务

我更新了新小提琴

我们的工作:

搜索'-'字符

如果找到-匹配a-z0-9,但不满足任何空间

需要添加条件,仅在模式捕获中匹配0或1次

可能类似于[a-z0-9{0,1}]表示0次或1次…

您可以调用“您的线路”。在方法中匹配//g.length,如果长度大于1,则可以排除这些结果。然后,如果满足此条件,则通过链接执行匹配。

您可以调用“your line”。在方法中匹配//g.length,如果长度大于1,则可以排除这些结果。然后,如果满足此条件,则通过链接执行匹配。

第一次尝试:

var srg = new RegExp(/[a-z0-9]*#?[a-z0-9]*\s/g);
说明:?指定字符可以出现一次,也可以不出现。这被夹在两个[a-z0-9]*表达式之间,允许在前后使用字母数字。final\s指定一个空格字符必须与原始正则表达式一致

编辑-第二次尝试:

这看起来更复杂,但它所做的只是使用上面的正则表达式,并将其分为两种可能性——第一种可能性是前面必须至少有一个字母数字,第二种可能性是后面必须至少有一个字母数字。

第一次尝试:

var srg = new RegExp(/[a-z0-9]*#?[a-z0-9]*\s/g);
说明:?指定字符可以出现一次,也可以不出现。这被夹在两个[a-z0-9]*表达式之间,允许在前后使用字母数字。final\s指定一个空格字符必须与原始正则表达式一致

编辑-第二次尝试:

这看起来更复杂,但它所做的只是使用上面的正则表达式,并将其分为两种可能性——第一种可能性是在之前必须至少有一个字母数字,第二种可能性是在之后必须至少有一个字母数字。

编辑:根据您的更新:

您可以使用此正则表达式允许字符串中的max one:

var srg = new RegExp('^-[a-z0-9]+#?[a-z0-9]+$');

'-wiru0ksd#erjk#jkls'.match(srg); //=> null

'-fdsffmsd,fmsd'.match(srg); //=> null

'-rfekwjkr#jfkdlsf'.match(srg); //=> ["-rfekwjkr#jfkdlsf"]
编辑:根据您的更新:

您可以使用此正则表达式允许字符串中的max one:

var srg = new RegExp('^-[a-z0-9]+#?[a-z0-9]+$');

'-wiru0ksd#erjk#jkls'.match(srg); //=> null

'-fdsffmsd,fmsd'.match(srg); //=> null

'-rfekwjkr#jfkdlsf'.match(srg); //=> ["-rfekwjkr#jfkdlsf"]
描述 此表达式将:

要求字符串以-字符开头 允许在字符串中最多显示一次 防止字符串中出现空格 允许一个或多个a-z0-9字符 允许字符出现在字符串中的任何位置,包括开头和结尾 ^?!:*?{2,}-[a-z0-9]+$

例子 样品

描述 此表达式将:

要求字符串以-字符开头 允许在字符串中最多显示一次 防止字符串中出现空格 允许一个或多个a-z0-9字符 允许字符出现在字符串中的任何位置,包括开头和结尾 ^?!:*?{2,}-[a-z0-9]+$

例子 样品


您需要匹配不包含双精度的行吗?是的,对,只有a-z0-9,但如果大于1,则不需要匹配。如果行正常,或者您希望搜索页面或文件中的所有a-z0-9,只要它们不包含2,则可以在一开始显示?我需要解析文本和粗体a-z0-9序列,但如果$1捕获包含超过1次,则忽略。2,3等等。你是否需要匹配不包含双精度的行?是的,对,只有a-z0-9,但如果大于1,则不需要匹配。如果行正常,或者你想搜索页面或文件中所有a-z0-9,只要它们不包含2?可以在一开始出现?我需要解析文本和粗体a-z0-9序列,但如果$1捕获包含超过1次,则忽略。2,3等等,我将在包含更多其他条件的其他正则表达式中使用解决方案,我将在包含更多其他条件的其他正则表达式中使用解决方案。小不,每行必须按空格或新线分隔,每行必须按空格或新行拆分。您用于生成上述图像的软件是什么?您用于生成上述图像的软件是什么?
NODE                     EXPLANATION
--------------------------------------------------------------------------------
  ^                        the beginning of the string
--------------------------------------------------------------------------------
  (?!                      look ahead to see if there is not:
--------------------------------------------------------------------------------
    (?:                      group, but do not capture (at least 2
                             times (matching the most amount
                             possible)):
--------------------------------------------------------------------------------
      .*?                      any character except \n (0 or more
                               times (matching the least amount
                               possible))
--------------------------------------------------------------------------------
      #                        '#'
--------------------------------------------------------------------------------
    ){2,}                    end of grouping
--------------------------------------------------------------------------------
  )                        end of look-ahead
--------------------------------------------------------------------------------
  -                        '-'
--------------------------------------------------------------------------------
  [a-z0-9#]+               any character of: 'a' to 'z', '0' to '9',
                           '#' (1 or more times (matching the most
                           amount possible))
--------------------------------------------------------------------------------
  $                        before an optional \n, and the end of the
                           string
-abcdefghijklmnopqrstuvwxyz1234567890     = good
-abcdefghijklmnopq#rstuvwxyz1234567890    = good
-abcdefghijklmnopq##rstuvwxyz1234567890   = bad
-#abcdefghijklmnopqrstuvwxyz1234567890    = good
-##abcdefghijklmnopqrstuvwxyz1234567890   = bad
-#abcdefghijklmnopqrstuvwxyz1234567890    = good
-abcdefghijklmnopqrstuvwxyz1234567890#    = good
-#abcdefghijklmnopqrstuvwxyz1234567890#   = bad
#-abcdefghijklmnopqrstuvwxyz1234567890    = bad