python - 正斜杠的正则表达式含义/

标签 python regex

我刚刚开始学习 python 中的正则表达式模块,有人要求我解释一个有趣的正则表达式序列。

/^[a-z0-9_-]{3,16}$/

我可以解释两个正斜杠内的代码,这些代码搜索包含连字符和下划线的字母数字用户名,并且至少有 3 个、最多 16 个数字或字符。

现在我的问题是,两个正斜杠是什么意思?我尝试了网络,似乎大多数教程都有反斜杠的解释,但没有正斜杠的解释。请指教。谢谢。

最佳答案

正斜杠用作分隔符。它们仅用于某些风格(例如 Perl 和 JavaScript),并且通常可以根据您的选择更改为分隔符。更改分隔符将更改需要转义的内容(如果有的话)。

请参阅我今天早些时候针对不同问题编写的带有正则表达式的 sed 语句:

sed -E 's/OldUtility.getList.([^)]*)\)([\)]*)/\1\2.getList()/g'

在这种情况下:

  • s 代替
  • / 第一个斜杠
  • 正则表达式。如果正则表达式需要 / ,则需要对其进行转义。如果您有足够多的 / 需要转义,那么最好切换到不同的分隔符(如果可能)。
  • / 第二个斜杠
  • 然后,进行替换:\1\2.getList()
  • / 第三个也是最后一个斜杠
  • 最后,还有修饰符:g 表示全局。

关于python - 正斜杠的正则表达式含义/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36439417/

相关文章:

python - 用另一个数组索引 Numpy 数组的有效方法

python - 在正则表达式中,如何匹配字符串的两种不同情况

javascript - 正则表达式仅包含数字和 2 个特殊字符(仅包含空格)

java - 正则表达式 - 无法访问的语句

javascript - 修复正则表达式以不从文本中重新抓取旧 URL (JS)

python - 使用 re.finditer 按索引循环匹配

python - 无法裁剪视网膜图像

python - 运行前查找Python编译/运行时错误

python - 二维数组 matplotlib 的颜色图

python - 无法从 Django 中的第 3 方包获取反向 URL