Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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,假设我有一个正则表达式r和一个已知匹配r的字符串s JavaScript中是否有方法检查这是否正确: 有一个字符c可以附加到s,这样s+c仍然匹配r 我看不到一种直接的方法(例如使用RegExp方法),所以可能有人知道这样做的诀窍?你能提供一个例子吗?在某些情况下确实如此。例如,我声称,如果r以既不是$也不是)的东西结尾,这是真的。然而,r可能以这些字符结尾,并且该声明可能仍然是真实的。如果r有两个以上的字符,并且以[not)]结尾,后跟*$,那么我认为它是true@ChrisLear您的第一个

假设我有一个正则表达式
r
和一个已知匹配
r
的字符串
s

JavaScript中是否有方法检查这是否正确:

有一个字符
c
可以附加到
s
,这样
s+c
仍然匹配
r


我看不到一种直接的方法(例如使用RegExp方法),所以可能有人知道这样做的诀窍?

你能提供一个例子吗?在某些情况下确实如此。例如,我声称,如果
r
以既不是
$
也不是
的东西结尾,这是真的。然而,
r
可能以这些字符结尾,并且该声明可能仍然是真实的。如果
r
有两个以上的字符,并且以[not
]结尾,后跟
*$
,那么我认为它是true@ChrisLear您的第一个声明对于
^(?=.$).+
和类似的构造无效。在我看来,这是一项主要任务,因为您基本上必须解析整个正则表达式。如果正则表达式看起来像<代码> ^(?:A**\{} 3 } @ [^ @ ] *)$ < /代码>,则必须考虑所有三个交替来决定是否可以添加某个字符。所以我的答案是——这是不可能的。我不确定问题出在哪里。这取决于你的正则表达式是什么。例如,如果您有一个regex
/^\w+$/
,则向该字符串添加字符仍将匹配。但如果正则表达式已被限制为当前字符串,则不匹配,例如,
/^\w{3}$/
将匹配“abc”,但不匹配“abcd”。这个问题可以从一些例子和期望中受益。你能提供一个例子吗?在某些情况下确实如此。例如,我声称,如果
r
以既不是
$
也不是
的东西结尾,这是真的。然而,
r
可能以这些字符结尾,并且该声明可能仍然是真实的。如果
r
有两个以上的字符,并且以[not
]结尾,后跟
*$
,那么我认为它是true@ChrisLear您的第一个声明对于
^(?=.$).+
和类似的构造无效。在我看来,这是一项主要任务,因为您基本上必须解析整个正则表达式。如果正则表达式看起来像<代码> ^(?:A**\{} 3 } @ [^ @ ] *)$ < /代码>,则必须考虑所有三个交替来决定是否可以添加某个字符。所以我的答案是——这是不可能的。我不确定问题出在哪里。这取决于你的正则表达式是什么。例如,如果您有一个regex
/^\w+$/
,则向该字符串添加字符仍将匹配。但如果正则表达式已被限制为当前字符串,则不匹配,例如,
/^\w{3}$/
将匹配“abc”,但不匹配“abcd”。这个问题可以从一些例子和期望中受益。