大家好我需要一个只提取标点/字符的正则表达式。
到目前为止,我有这个:
[._^%$#!~@,-]+
但如果至少有1个标点符号并且仍允许任何其他字符(数字或字母),则此方法有效
我只需要允许标点/字符
答案 0 :(得分:4)
试试这个:
^[\p{S}\p{P}]+$
\p{S}
匹配任何符号字符,\p{P}
匹配任何标点符号。
请注意,您的模式不会匹配列表中不存在的所有符号和标点符号。
答案 1 :(得分:3)
尝试将正则表达式锚定到字符串的开头和结尾(除非您使用的是多行匹配) - 即开头为^
,结尾为$
:
^[._^%$#!~@,-]+$
注意 - 这并不支持你的实际模式(我不能说这是否与你正在讨论的所有'特殊字符'相匹配,但它会使整个字符串必须全部'特殊'
答案 2 :(得分:0)
[^ a-zA-Z0-9] *你可以尝试这样的事情。不应该接受那些字符,cba写在你打字旁边的所有字符旁边。
答案 3 :(得分:0)
\W
匹配任何不是单词字符的字符(字母数字和下划线)。