python - 字母数字字符串的正则表达式,下划线不应是第一个或最后一个字符

标签 python regex python-3.x python-2.7

我想要一个正则表达式来检查字符串是否只包含大写和小写字母、数字和下划线,但下划线不应该是字符串中的第一个或最后一个字符,因为我正在尝试在 Python 中使用以下内容.

"^[a-zA-Z0-9_]*$"   

最佳答案

你可以使用这个正则表达式:

^(?!_)\w*(?<!_)$

\w相当于[A-Za-z0-9_]

我使用负面展望 (?!)检查第一个字符不是 _ , 和负面回顾 (?<!)检查最后一个字符不是 _ .

关于python - 字母数字字符串的正则表达式,下划线不应是第一个或最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12016719/

相关文章:

r - 在 R 中使用 str_extract 在带有正则表达式的子字符串之前提取数字

python-3.x - 贪心算法和时间复杂度#2

php - 正则表达式从字符串中删除所有单个字符

python - 冒号等于什么(:=) in Python mean?

python - Keras:嵌入层+LSTM:时间维度

android - python os 模块可以在 android 上运行吗?

c# - 使用 .NET 正则表达式解析引号之间的文本

python - 帮助生成器函数中的逻辑

python - 比较列表中的相邻变量并重新格式化输入

python - 用 Bokeh 和 pandas 绘制多条线