Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将破折号和下划线排除为最后一个字符的正则表达式_Python_Regex - Fatal编程技术网

Python 将破折号和下划线排除为最后一个字符的正则表达式

Python 将破折号和下划线排除为最后一个字符的正则表达式,python,regex,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]+)*$,但不确定如何包括第二个条件,即不能以破折号或下划线结尾。您可以使用这个: ^[^-_].*[^-_]$ 它不能以-或-=^[^--\u]开头,也不能以-或-=[^-\

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

1) include - (dash)  and _ (underscore) as valid components. 
2) cannot end with (dash) and (underscore).
我正在使用这个-
^[A-Za-z0-9]+([-+[A-Za-z0-9]+)*$
,但不确定如何包括第二个条件,即不能以破折号或下划线结尾。您可以使用这个:

^[^-_].*[^-_]$
它不能以
-
-
=
^[^--\u]
开头,也不能以
-
-
=
[^-\u]$
结尾。您可以使用以下方法:

^[^-_].*[^-_]$
它不能以
-
-
=
^[^--\u]
开头,也不能以
-
-
=
[^-\u]$
结尾。请使用以下命令:

^.*[^-_]$
这允许从开始(
^..*
)到结束(
$
)的任何字符序列使用非破折号或下划线(
[^-\]
)的字符。如果有效的非结束字符仅为字母加
-\u
,则使用
[A-Za-z0-9-\u]*
代替
*

使用以下命令:

^.*[^-_]$

这允许从开始(
^..*
)到结束(
$
)的任何字符序列使用非破折号或下划线(
[^-\]
)的字符。如果有效的非结束字符仅为字母加
-\u
,则使用
[A-Za-z0-9-\u]*
代替
*

以破折号/下划线结尾的字符串是否与正则表达式匹配?如果在测试时没有,那么你的正则表达式已经在做了!以破折号/下划线结尾的字符串是否与正则表达式匹配?如果在测试时没有,那么你的正则表达式已经在做了!它只要求结束,不要求开始。除此之外,我会投赞成票。它只要求结束,而不是开始。除此之外,我会投票赞成。更改为
^.+[^-\]$
甚至会避免匹配空字符串。@jasonaler使用
^..[^-\]$
已经禁止匹配空字符串,因为
[^-\\\\/code>将至少匹配一个字符。更改为
^.+[^-\\$
甚至会避免匹配空字符串。@jasonaler使用
^*[^-\]$
已禁止匹配空字符串,因为
[^-\]
将至少匹配一个字符。