python - 正则表达式排除破折号和下划线作为最后一个字符

标签 python regex

我需要一个正则表达式来验证以下条件,

1) include - (dash)  and _ (underscore) as valid components. 
2) cannot end with (dash) and (underscore).

我正在使用这个 - ^[A-Za-z0-9]+([-_]+[A-Za-z0-9]+)*$ 但不确定如何包含第二个条件即-不能以破折号或下划线结尾

最佳答案

使用以下内容:

^.*[^-_]$

这允许从开头 (^.*) 到结尾 ($) 的任何字符序列,其中包含除破折号或下划线之外的任何字符 ( [^-_])。如果您的有效非结尾字符仅为字母加 -_,则使用 [A-Za-z0-9-_]* 而不是 .*

关于python - 正则表达式排除破折号和下划线作为最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21557658/

相关文章:

python - 当某些数据具有微秒而某些数据没有时使用 Strptime

python - 如何在 pycryptodome 中使用 ECC 加密消息

JavaScript 正则表达式替换多个模式

regex - 如何使用正则表达式添加千位分隔符?

python - PyDev 仅在控制台中使用 Pylint : No output in Problems View,

python - 使用 SQLAlchemy 转义文件路径中的特殊字符

python - beautifulsoup 检索日期

c# - 仅用 1 个空格替换非字母数字字符和多个空格

mysql - sql匹配模式正则表达式查询

javascript - 用于标签式字符串的 RegExp 解析器