正则表达式将短划线和下划线排除为最后一个字符

时间:2014-02-04 16:17:04

标签: 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]+)*$但不确定如何包含第二个条件,即 - 不能以破折号或下划线结尾

2 个答案:

答案 0 :(得分:2)

使用以下内容:

^.*[^-_]$

这允许从开头(^.*),结尾($)的任何字符序列与任何不是短划线或下划线([^-_])的字符。如果您的有效非结尾字符仅为字母加-_,则使用.*代替[A-Za-z0-9-_]*

答案 1 :(得分:0)

你可以用这个:

^[^-_].*[^-_]$

它可能不会以-_ = ^[^-_]开头,并且可能不会以-_ = [^-_]$

相关问题