为什么 |匹配正则表达式中的每个字符串
Why | matches every string in regex
我在理解下面的代码时遇到问题:
var reg=/|/;
reg.test('ssdws');//returns true no matter what the string parameter is.
我知道结果,但为什么呢?
/|/
表示<empty string>
或<empty string>
,实际上表示<empty string>
模式。
由于在 2 个字符之间、第一个字符之前、最后一个字符之后或空字符串中存在无限多个空字符串,因此/|/.test(input)
将返回任何字符串的true
。
如果要匹配文字字符|
,则需要对其进行转义,即 /'|/
.然后/'|/.test(input)
当且仅当输入字符串中有|
时,true
返回。
|
在正则表达式中表示"或"。所以你实际上是在说"任何东西或任何东西"
这当然意味着任何事情都会发生。
相关文章:
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 从字符串中提取年份的Javascript正则表达式
- Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式
- 如何将正则表达式包含到字符串数组中
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 使用正则表达式反转字符串中的元音
- 如何分割由JavaScript中使用正则表达式的多个部分组成的字符串
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 删除两个字符串正则表达式之间的所有内容
- Javascript,字符串正则表达式匹配
- 字符串正则表达式模式.replace(/{0}/, “$0.00”) 不起作用
- Javascript:字符串正则表达式
- 如何在JavaScript中子字符串正则表达式
- 匹配大写或小写字符串正则表达式
- 逗号和空格分隔的数字和连字符分隔的字符串正则表达式
- 解析CGI查询字符串正则表达式
- 分析已知键的字符串正则表达式,但保留分隔符
- 在一组字符串中重新排列一个字符串 - 正则表达式
- 从字符串正则表达式中提取多个值