Ⅰ java精确查找单词用什么正则表达式
String txt = "gjkvcddg@this,hjbvf"
你是要查找是否有呢,还是匹配出来?
txt.index("this") 如果有这返回当前位置,否则返回-1
正则匹配:
"@(.+?),"
等....
或切片:
txt.split("@")[1].split(",")[0]
Ⅱ Java正则表达式 匹配 单词
"\\w+"
\\w表示单词字符(数字、字母、下划线)
+号表示一个或多个
Ⅲ Java如何在正则表达式中匹配重复单词
示例显示了如何使用regex.Matcher类的p.matcher()方法和m.group()方法在正则表达式中搜索重复的单词。
import java.util.Scanner;
import java.io.*;
import java.util.regex.*;
import java.util.ArrayList;
public class SearchingDuplicateWords {
public static void main(String[] args) {
ArrayList<String> manyLines = new ArrayList<String>();
ArrayList<String> noRepeat = new ArrayList<String>();
try {
String s1 = "Hello hello Hello there there past pastures ";
Scanner myfis = new Scanner(s1);
while (myfis.hasNext()) {
String line = myfis.nextLine();
String delim = System.getProperty("line.separator");
String[] lines = line.split(delim);
for (String s : lines) {
if (!s.isEmpty() && s != null) {
manyLines.add(s);
}
}
}
if (!manyLines.isEmpty()) {
System.out.print("Original text is:\n");
for (String s : manyLines) {
System.out.println(s);
}
}
if (!manyLines.isEmpty()) {
for (String s : manyLines) {
String result = s.replaceAll("(?i)\\b([a-z]+)\\b(?:\\s+\\1\\b)+", "$1");
noRepeat.add(result);
}
}
if (!noRepeat.isEmpty()) {
System.out.print("After Remove plicates:\n");
for (String s : noRepeat) {
System.out.println(s);
}
}
} catch (Exception ex) {
System.out.println(ex);
}
}
}
Ⅳ Java中什么是正则表达式
正则表达式 就是将一个类型的数据 按照一定方式 写成正则表达式的形式 这样可以辨别数据是否符合这一类型的数据 比如我们的身份证号码 就是有一定的规则的 这样我们写一个 正则表达式 和别人输入的身份证号码 比对 如果符合这个正则表达式的规则 就是身份证号码
Ⅳ JAVA正则表达式判断 只能包含汉字、英文、“_”和数字 ,正则该怎么写呢
正则表达式:[\u4e00-\u9fa5]*|\w*|\d*|_*
代码如下:
@Test
public void test1(){
//匹配正则表达式表达式
String str = "[\u4e00-\u9fa5]*|\w*|\d*|_*";
Pattern pattern = Pattern.compile(str);
//要匹配的字符串
String mStr = "还有多远_344fjdk";
System.out.println("测试的字符串:"+mStr);
Matcher m = pattern.matcher(mStr);
//如果匹配到了
if(m.find()){
System.out.println("匹配内容:"+m.group());
}
}
程序运行结果:
(5)java正则表达式单词扩展阅读
匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,"单词"字符使用Unicode字符集,中文的为:[\u4e00-\u9fa5],表示英文字母的为w,表示数字的为d,表示_的为_,而*号表示的则是0个或多个,|表示的则是或,所以把每个要匹配的用|拼接可以表示要匹配的正则表达式。
Ⅵ java正则表达式如何获取字符串中所有匹配内容
1.1 句点符号
在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以“t”字母开头,以“n”字母结束。另外,假设有一本英文字典,可以用正则表达式搜索全部内容。要构造出这个正则表达式,可以使用一个通配符——句点符号“.”。这样,完整的表达式就是“t.n”,匹配“tan”、“ten”、“tin”和“ton”,还匹配“t#n”、“tpn”甚至“t n”,还有其许多无意义的组合。这是因为句点符号匹配所有字符,包括空格、Tab字符甚至换行符:
1.3 “或”符号
如果除了上面匹配的所有单词之外,还想要匹配“toon”,那么,可以使用“|”操作符。“|”操作符的基本意义就是“或”运算。要匹配“toon”,使用“t(a|e|i|o|oo)n”正则表达式。这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号“()”。圆括号还可以用来分组。
1.4 表示匹配次数的符号
下表显示了正则表达式的语法:
表 1.1 正则表达式语法
Ⅶ java的正则表达式,"\b(\w+)\b\s+\1\b"这个怎么理解
(\w+)匹配一个词,
\1匹配第一个匹配组,
在这里就是前面匹配的那个词.
所以:
(\w+)
\1
匹配两个完全相同的词.
(词里可以有至少一个字母或数字)
\s+
两个词当中隔了至少一个能被\s匹配的符号(比如空格,
tab)