regex - 替换正则表达式中的字符时出现问题
问题描述
我刚刚开始掌握正则表达式。我的第一个任务是删除字符串中除 az(大写和小写字母)、0-9 和字符 - \ 之外的所有字符。: 和 ,
所以我尝试了
objInstance.mystring.replaceAll("[^A-Za-z0-9\\- .:,]", "")
但是,这仍然会删除连字符和反斜杠。
我怀疑它的位置 \ 但在这里一些指导会有所帮助。
解决方案
您需要转义反斜杠以及连字符。这些是在正则表达式中有意义的字符,因此您需要对它们进行转义以监控实际字符。
[A-Za-z0-9\\\-.:,]
应该是正确的正则表达式。你的还有一个空格,你的问题中没有提到它,所以我也删除了它。您的正则表达式中还有一个^
字符。这表示字符串的开始,同样因为您的问题中没有提到这一点,所以我在正则表达式中删除了它。
推荐阅读
- postgresql - PostgreSQL:无法登录 Postgres - sudo 坏了?
- assembly - ANSI escape codes not functioning when I printf them in x86 Assembly?
- powerbi - Power BI 向下钻取 Choropleth 自定义地图显示问题
- c# - Unity - 使用组件作为界面
- kotlin - 如何使用接口类型初始化 Kotlin 中的变量?
- android - RecycleView.ViewHolder 中的 buttonViewOption 方法丢失
- php - 如何防止来自 WordPress 的电子邮件使用 PHP 邮件进入垃圾邮件文件夹?
- python - Scrapy Spider 完成后如何触发 Mongodb 导入?
- html - 创建一个相对于文档的 href/src,而不是它包含的“目录”
- node.js - 使用伊斯坦布尔进行代码覆盖时,Mocha 不会退出