正则表达式 非指定文字 不以指定文字 匹配

本文介绍了两种不同的正则表达式方法来匹配特定格式的数据属性,避免以'data-'开头的字符串被匹配,同时提供了详细的解释说明。
正常内容,
 data-ratio="0.8166667"  powered-by="xiumi.us"
 data-ratio="0.8166667"  powered-by="xiumi.us"
 data-ratio="0.8166667"  powered-by="xiumi.us"
 data-ratio="0.8166667"  powered-by="xiumi.us"
匹配不以data开头的关键字


方法1
  (?!data)\w{0,20}[-_]\w{0,20}=
说明 开始是有一个空格的(?!关键字)的引用就是要前后都有匹配才能成立


方法2
  ([^d]|d[^a]|da[^t]|dat[^a])\w{0,20}[-_]\w{0,20}=
说明 开始是有一个空格的引用就是要前后都有匹配才能成立  这种比较麻烦
### 如何使用正则表达式匹配特定的中文字符 为了实现对特定文字符的匹配,在 Java 中可以采用正则表达式的强大功能。当目标是识别具体的中文字符而泛指所有的中文字符时,可以根据具体需求调整正则模式。 对于想要精确匹配某些范围内的中文字符的情况,可以通过定义 Unicode 编码区间来达成目的。例如,要匹配基本CJK统一汉字区间的字符(即常见的现代汉语简化字),可使用的正则表达式为 `[\u4e00-\u9fa5]`[^2]。如果需要更精准地定位某几个固定的中文字符,则可以直接把这些字符放入方括号内形成字符集,比如 `[一二三]` 将只匹配 “一”,“二”,或“三”。 下面给出一段简单的Java代码示例用于演示如何应用上述提到的方法: ```java import java.util.regex.Matcher; import java.util.regex.Pattern; public class ChineseCharMatch { public static void main(String[] args) { String text = "这里有一些文字"; // 定义一个包含多个可能被匹配的目标字符集合 Pattern pattern = Pattern.compile("[\u4e00\u4e8c\u4e09]"); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println("找到匹配项:" + matcher.group()); } } } ``` 这段程序将会遍历给定字符串并打印出所有与预设条件相吻合的结果。在这个例子中,只会输出那些属于“一”、“二”、“三”的任意一字组成的子串[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值