javascript - 不同的语言对正则表达式的处理方式不同吗?

标签 javascript python regex

如下正则表达式在 Python 中有效,如下所示:

>>> pattern = "[a-z]"
>>> re.findall(pattern,"a")
['a']

但是在 Javascript 中,等效代码不会产生结果:

pattern = /'[a-z]'/
pattern.test('a')
false

怎么会这样?它是完全相同的正则表达式代码,这让我相信语言处理它的方式存在一些差异。是这样吗?

最佳答案

您的模式中有文字引号。您的模式将匹配 "'a'" 但不匹配 "a"

所以不写

pattern = /'[a-z]'/  

宁愿做

pattern = /[a-z]/

pattern = new RegExp("[a-z]") 

如果您不希望 pattern 是全局的,请在赋值中使用 var pattern

关于javascript - 不同的语言对正则表达式的处理方式不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23182685/

相关文章:

javascript - 请有人帮我解决这个问题,使随机数显示在输入值中吗?

python - 如何截取生成器的第一个值并透明地从其余值中产生

python - 将 OneHotEncoder 与 sklearn_pandas DataFrameMapper 结合使用

python - 如何加快访问 pandas 数据框列中的字典列表?

regex - 从字符串中提取键值

python - 正则表达式匹配除字符串以外的所有内容

javascript - 如何通过 JavaScript 使用重置功能

javascript - php isset($_post[]) 和 javascript form.submit

javascript - 为什么我无法在对象数组的 for-in 循环中访问对象属性?

javascript - 正则表达式字符串替换