java - 正则表达式阻止某些特殊字符

标签 java regex

我目前无法完成以下正则表达式。

我的正则表达式

^[a-zA-Z0-9.][a-zA-Z0-9.+:_-]+[a-zA-Z0-9.]$

匹配的结构是Sample:Te.st4:Test.Sample每个名称都用:分隔 但我想允许每个名称具有除以下字符之外的任何特殊字符。

> # *

我不知道如何编写该正则表达式。请帮我解决这个问题。

最佳答案

正则表达式 "^[^>#*]+$"将匹配除包含 > 之外的任何输入, #* .

从您现有的正则表达式来看,您似乎不想允许 :成为第一个或最后一个字符,在这种情况下,您想要的正则表达式是这样的:

"^[^:>#*]+|([^:>#*][^>#*]+[^:>#*])$"

关于java - 正则表达式阻止某些特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12493011/

相关文章:

java - 可以在不同的方法上将变量命名为相同的名称吗?

c# - 正则表达式查找 3 个括号之间包含的字符串

javascript - 正则表达式 : refer to alternation of groups

java - 如何在java中使用 session 显示方法的输出

java - 文本文件内容更改事件

java - ResultSet——它是什么样的对象?

java - 以更好的方式更新 EAR 文件中的单个文件

javascript - 正则表达式 - 测试或匹配

java - 用带有特殊字符的字符串进行分割

java - 如果不包含在 '<' 和 '>' 之间,如何替换字符串