sub:模式允许在2个字母数字之间使用可选连字符并限制空间。没有其他特殊字符
我需要一个正则表达式来匹配以下测试用例:-
“所有欠的”“allowe-d”“a-llo-wed-12”“allowed12”“allow-12ed”“allowed-12”“allo-wed-12”
“不允许”“不允许”“不允许”“不允许”“不允许--不允许”not@allowed"
尝试的模式:
^[^-]*-?[^-]*$
^\\w+(-\\w+)*$
正则表达式,用于输入一个只有数字和可选连字符的字符串。连字符可以位于字符2之后的任何位置
特殊字符的javascript正则表达式
Java正则表达式-字母数字,最多一个连字符、句点或下划线,七个字符长
PHP正则表达式,用于匹配用作子域的字母数字和连字符(不是空格)
还有更多
请张贴重复的问题链接。我们可以从那里提供的解决方案中学习,并改进我们的搜索
您可以使用正向向后和向前看来确保-
介于两个字母数字字符之间。
<代码>^(?
在线演示
第二个正则表达式将匹配您的大小写,但也将匹配下划线。
也许你正在寻找一种模式,它匹配一个字母数字[a-z0-9]
的一次或多次,然后重复匹配一个破折号,然后再匹配一个字母数字(?:-[a-z0-9])*
请注意,这只匹配小写字符。您可以使用不区分大小写标志来匹配大小写字符。
<代码>^[a-z0-9](?:-[a-z0-9])*$<代码>
js prettyprint-override">const strings = [
"all-owed",
"allowe-d",
"a-llo-wed-12",
"allowed12",
"allow-12ed",
"allowed-12",
"allo-wed-12",
"notallo-wed-12_",
"not allowed",
"not allowed ",
" notallowed",
" nota-llowed",
"not--allowed",
"not@allowed"
];
let pattern = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
strings.forEach((s) => {
console.log(s + " ==> " + pattern.test(s));
});
我正在尝试编写一个正则表达式,允许数字和字符之间使用连字符(-),但删除字符之间的连字符,并用PHP字符串中的空格替换它。我是正则表达式的初学者,不知道如何编写正则表达式,有人能帮我吗 这里我需要的是一个类似于PHP的字符串 在应用正则表达式后,我需要的输出必须是这样的 还有其他方法吗?请帮忙
其中,我需要包括连字符和空格。 这意味着还必须可以输入值“”。
我正在尝试构建一个正则表达式来验证用户名,该用户名将包含字母数字字符,并且应该允许<代码>(dot)(撇号)和-(破折号),我尝试了以下正则表达式,但它们不起作用 <代码>/^[a-zA-Z0-9\.-]$/<代码> 请帮帮忙
问题内容: 我需要找到一个仅允许字母数字的reg ex。到目前为止,我尝试的每个人都只能在字符串是字母数字的情况下工作,这意味着同时包含字母和数字。我只想要一个允许任何一个但不需要两个都允许的东西。 问题答案: /^[a-z0-9]+$/i 更新(支持通用字符) 如果您需要此正则表达式支持通用字符,则可以找到unicode字符列表。 例如:
我正在尝试编写一个正则表达式以允许数字和中间只有一个hypen(不能在开始或结束时)说模式:,是可以接受的,但模式:或或或或是不可接受的 我试过这样做,但这将允许-在开始时,也允许多个- 我不太擅长正则表达式,所以一点解释会很有帮助。 编辑:很抱歉再次打扰你,但我需要的数字只有2位(123-346)应被视为无效。