正则表达式 第一个字为“第”中间有一到五个汉字,第四个“条”如何表示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 第一个字为“第”中间有一到五个汉字,第四个“条”如何表示相关的知识,希望对你有一定的参考价值。
例如 第一条,第十一条,第一百一十一条,
如何表示?我用的是Java
代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ForFalu
public static void main(String[] args) throws IOException
BufferedReader br = new BufferedReader(new FileReader("./text/宪法.txt"));
String one;
String regex = "第[^条]*条";
while ((one = br.readLine()) != null)
if (one.startsWith(regex))
System.out.println(one);
br.close();
把中华人民共和国宪法扔进去结果一点没出来
String string = "第一条,第十一条,第一百一十一条";
Pattern pattern = Pattern.compile (regex);
Matcher match = pattern.matcher (string);
while (match.find ())
System.out.println (match.group ());
拜托,提问者,你知道 if (one.startsWith(regex))是什么意思么?
startsWith可以用正则么?你确定么? 答案是不可以的追问
不行,我发了代码,你给我看看啊
追答拜托,提问者,你知道 if (one.startsWith(regex))是什么意思么?
startsWith可以用正则么?你确定么? 答案是不可以的
不可以那要怎么办。在后面加若干个任意字符?那要怎么写?
追答就是我上面这样写啊,你还看不出来么?
参考技术A 第[一二三四五六七八九〇十百千万]+\\w?正则表达式
一、元字符
元字符是有特定含义的字符。
. | 匹配除换行符外的任何字符 | 例如,可以匹配1,n,*,+,- |
\\w | 匹配数字或字母或下划线或汉字 |
例如,\\d\\w\\s,匹配第一个字符 是数字,第二个字符是数字/字母/ 下划线或汉字,第三个字符是空白 的字符串 |
\\s | 匹配任意的空白符 | |
\\d | 匹配数字 | |
\\b | 匹配单词的开始或结束 | 例如,匹配单词\\bOlive\\b |
^ | 匹配字符串的开始(在集合中[^]表示不匹配的意思) |
例如,^\\d\\d\\d$,匹配三个字符 都是数字的字符串 |
$ | 匹配字符串的结束 |
二、反义字符
符号 | 和谁相反 | 含义 |
\\W | \\w | 匹配任意不是数字、字母、下划线和汉字的字符 |
\\S | \\s | 匹配任意不是空白符的字符 |
\\D | \\d | 匹配任意不是数字的字符 |
\\B | \\b | 匹配任意不是单词的开头或结束 |
[^x] | ^x | 匹配任意除x外的字符 |
三、限定字符
限定字符用于重复匹配的次数。
* | 重复0次或更多次 |
+ | 重复一次或更多次 |
? | 重复0次或1次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n次到m次 |
四、转义字符
在实际开发中,当需要匹配元字符时,需要将字符转移,例如,.转义为\\.,\\转义为\\\\。
五、字符分枝
字符分枝用于匹配有多种选择的情况,用“|”来分隔,例如,有的地方电话号码区号有3位,有的有4位,可以这样匹配:
\\d{3}-\\d{8}|\\d{4}-\\d{8}
六、常用正则表达式整理
1)只能输入数字:^[0-9]*$
2)只能输入n位数字:^\\d{n}$
3)只能输入至少n位数字:^\\d{n,}$
4)只能输入n~m位数字:^\\d{n,m}$
5)只能输入0或非0开头的数字:^(0|[1-9])([0-9]*)$
6)只能输入有两位小数的正实数:^[0-9]\\.[0-9]{2}$
7)只能输入有1~3位小数的正实数:^[0-9]\\.[0-9]{1,3}$
8)只能输入非0的正整数:^[+]?[1-9][0-9]*$
9)只能输入非0的负整数:^[-][1-9][0-9]*$
10)只能输入长度为3的字符:^.{3}$
11)只能输入26个英文字符组成的字符串:^[A-Za-z]+$
12)只能输入数字或26个英文字母组成的字符串:^[0-9A-Za-z]+$
13)不能输入某些特殊字符:[^[email protected]#$%^&*()]
14)只能输入汉字:^[\\u4e00-\\u9fa5]*$
15)验证邮箱:\\w+((-w+)|(\\.w+))*@[A-Za-z0-9]+((\\.|-[A-Za-z0-9]+))*\\.[A-Za-z0-9]+
16)验证internetURL:^[A-Za-z]+:\\/\\/[^\\s]+$
17)验证座机电话号码:^(\\d{3,4}-)?\\d{7,8}$
18)验证手机号码:^(13|14|15|18)\\d{9}$
19)验证身份证号(15或18位):^(\\d{18}|\\d{17}[x]|\\d{15})$
推荐一个验证图形化分析正则表达式的网站:https://regexper.com/
以上是关于正则表达式 第一个字为“第”中间有一到五个汉字,第四个“条”如何表示的主要内容,如果未能解决你的问题,请参考以下文章
js正则表达式匹配手机号中间四位以及匹配姓名第一个字符,将其替换为*