Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 (^ap*e$)不';t匹配';苹果公司;。为什么?_Javascript_Regex - Fatal编程技术网

Javascript (^ap*e$)不';t匹配';苹果公司;。为什么?

Javascript (^ap*e$)不';t匹配';苹果公司;。为什么?,javascript,regex,Javascript,Regex,我在我的应用程序中使用正则表达式,我想测试它的不同组合。如何指定以“a”开头,以“e”结尾?*与前面的0个或多个字符匹配。因此,您的模式指定将有0个或更多的ps 它与ae、ape和appppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

我在我的应用程序中使用正则表达式,我想测试它的不同组合。如何指定以“a”开头,以“e”结尾?

*
与前面的0个或多个字符匹配。因此,您的模式指定将有0个或更多的
p
s

它与
ae
ape
apppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp

“匹配任何内容”的典型结构是
*
(将任何字符匹配零次或多次),您的模式是:

^a.*e$

如果在星号
*
之前添加
,则正则表达式可以工作:

(^ap.*e$)
但是,对于您的需求,不需要
p
,所以这样就可以了

(^a.*e$)
您可以按如下方式解释此正则表达式(请参见此)

  • ^
    在字符串开头断言位置
  • a
    按字面意思匹配字符a(区分大小写)
  • *
    匹配任何字符(换行符除外)。量词
    *
    在零次和无限次之间匹配,尽可能多地匹配,根据需要返回
  • e
    逐字匹配字符e(区分大小写)
  • $
    在字符串末尾断言位置
  • 试试这个
    ^a(.*)e$
    。以“a”开头以“e”结尾的模式可以使用

    (^ap.*e$)
    
    你可以尝试在这个网站上测试你的正则表达式

    如何指定以
    'a'
    开头,以
    'e'
    结尾

    如果你在寻找一个完整的单词,比如:

    \ba\w+e
    
    您可能希望使用
    \b
    锚来匹配
    g
    修饰符以执行全局匹配

    var result = "apple orange apple banana carrot apple".match(/(\ba\w+e)+/g);
    alert(result);
    

    使用@Tushar why
    [\s\s]
    而不是
    ?为什么每个人都建议匹配任何字符?我认为需要的是
    \w*
    ^ap*\w*e$
    只允许字母数字。@Stribizev为什么不允许?他们所说的问题是
    以“a”开头,以“e”结尾。
    @123:与“apple”不匹配-绝对不是任何字符。无用的括号。括号用于分组。更清晰,就这样。我知道,如果你使用它,这不是一种罪过,但对于新手来说,他们可能会误导你。