我的正则表达式需要帮助。我需要删除文本开头的特殊字符例如我有这样的文字.just a $#text this should not be incl#uded输出应该是这样的just a text this should not be incl#uded我已经在这里测试我的正则表达式,但是我无法使其正常工作([\!-\/\;-\@]+)[\w\d]+如何限制正则表达式仅检查以特殊字符开头的文本?
3 回答
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
用途\B[!-/;-@]+\s*\b
:
var result = Regex.Replace(s, @"\B[!-/;-@]+\s*\b", "");
见正则表达式演示
细节
\B
-单词边界以外的位置(必须在当前位置的左边紧跟字符串的开头或非单词char)[!-/;-@]+
-1个或多个ASCII标点符号\s*
-0+空格字符\b
-单词边界,当前位置的右边必须有字母/数字/下划线。
如果您打算删除所有标点符号和符号,请使用
var result = Regex.Replace(s, @"\B[\p{P}\p{S}]+\s*\b", "");
参见另一个正则表达式演示。
请注意,它\p{P}
匹配任何标点符号并\p{S}
匹配任何符号。
幕布斯7119047
TA贡献1794条经验 获得超8个赞
使用前瞻:
(^[.$#]+|(?<= )[.$#]+)
将^[.$#]+
用于特殊字符在一行的开始匹配。
将(?<= )[.$#]+)
用于在词是在句子的开始相匹配的特殊字符。
[]
根据需要在字符组中添加特殊字符。
- 3 回答
- 0 关注
- 490 浏览
添加回答
举报
0/150
提交
取消