我想从字符串中过滤掉错误的字符(稍后用空字符串替换它们) . 我尝试制作自己的正则表达式,但我还没有成功完成它 . 我需要JavaScript支持 .
期望的效果: com.12%example%.5a5pp
=> com.example.a5pp
(正则表达式匹配: [1,2,%,%,5]
) .
您可以找到包名称要求here:
Android应用程序的完整Java语言样式包名称 . 名称应该是唯一的 . 名称可能包含大写或小写字母('A'到'Z'),数字和下划线('_') . 但是,单个包名称部分可能只以字母开头 .
1 回答
我自己对Ruby比较熟悉,但我相信Android应用程序是用Java编写的,而Java可以做到
(?<)
. 根据这些假设,此正则表达式将匹配任何不正确的字符:您可以将其插入“替换”方法,以使用空字符串替换任何匹配项 .
(Regex 101是查找正则表达式的每个组件含义的好地方 . )
[更新]对于不支持后视的JavaScript,您可能必须捕获组中的点(如果有)以便能够将其放回:
您可以使用
'$1'
(表示捕获的点)替换它,而不是空字符串 .