regex-有点难的字符串的匹配问题

问题描述

有点难的字符串的匹配问题

import java.util.regex.Matcher;
import java.util.regex.Pattern;
这两个类,然后。
Pattern p=Pattern.compile(regex);
Matcher m;
for(int j=0;j<comments.length;j++){
m=p.matcher(comments[j]);
if(m.find()){
System.out.println(m.group());
}
}
我想匹配目标文本中的文字,如果regex=(hello)+;
但是只能匹配到字串含有hello的,然而!!!现在要求是:怎么能够匹配得到含有hell o(hell(空格)o),就是在hell 和o含有空格
的这样的字符串啊。

当然,
Pattern p=Pattern.compile(regex);
Matcher m;
for(int j=0;j<comments.length;j++){
m=p.matcher(comments[j].replaceAll("s",""));
if(m.find()){
System.out.println(m.group());
}
}

这样做是可以输出去掉空格的hello,但是,现在要求,输出的是含空格的hell o而不是将空格去掉的hello。。

求大神解答啊!!!

解决方案

h[ello ]+o

解决方案二:

 hells+o

替换

 (?<=hells+o)s+|s+(?<hello)

解决方案三:

 (?<=hells+o)s+|s+(?=hells+o)

解决方案四:

忘了说这个comments[]是一个字符串数组

解决方案五:

不好意思,忘了说,这个空格的位置是随机出现的 可以是he llo 或者 h ello等等。。
comments是一个字符串数组。。

时间: 2024-08-30 15:41:01

regex-有点难的字符串的匹配问题的相关文章

C/C++中的字符串模糊匹配

需求: 准入授权配置文件有时候分了好几个维度进行配置,例如 company|product|sys这种格式的配置: 1.配置 "sina|weibo|pusher" 表示 sina公司weibo产品pusher系统能够准入,而"sina|weibo|sign"不允许准入 2.配置 "sina|*|pusher" 表示sina公司所有产品的pusher系统都能够准入 3.配置 "*|*|pusher" 表示所有公司的所有产品的p

c语言-C语言课程设计字符串题目匹配单词,求大神~~~~~~~~~~~~~~~~~

问题描述 C语言课程设计字符串题目匹配单词,求大神~~~~~~~~~~~~~~~~~ 详细题目如下:设有n个单词的字典表(1<=n<=100),计算某单词在字典表中的4种匹配情况(字典中的单词和待匹配的单词长度上限为255):1)i :该单词在字典表中的序号:2)Ei:在字典表中仅有一个字符不匹配的单词不匹配的单词序号:3)Fi:在字典表中多(或少)一个字符(其余字符匹配)的单词序号:4)N:其他情况.当查找时有多个单词符合条件,仅要求第1个单词的序号即可.1)输入文件,文件格式为:n(字典表

Caused by: java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配

          项目中遇到这样一个问题:                 Caused by:java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配 atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) atoracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) atoracle.jdbc.

c中怎么实现查看两个字符串的匹配情况,返回能够匹配的字符的个数

问题描述 c中怎么实现查看两个字符串的匹配情况,返回能够匹配的字符的个数 比如,一个字符串是w_angqmab,,,另一个字符串是w+bangemx,,我想编写一个函数,,让它返回后一个字符串与前一个字符串得到匹配字符的个数,,,,我该怎么编写函数啊,,求大神们指点!!!!万分感谢!!!急急急急---- 解决方案 排序后再比较计数. 用C#演示一下,C的处理方式类似. using System; using System.Collections.Generic; using System.Lin

java在多个字符串里匹配

问题描述 java在多个字符串里匹配 每当我得到一个字符串我要和5000多个字符串去匹配寻找相同的, 可以把5000多个字符串做成文件在java里通过流读取匹配吗,或者有更好的方法吗, 解决方案 最好的办法是做倒排索引,搜索引擎的全文搜索就是这么实现的. 解决方案二: 例子http://download.csdn.net/detail/a1298071341/3335929 解决方案三: 可以放到文件中: 也可以把5000个字符串放到数据库中,然后判断是否存在数据库里 解决方案四: 5000个字

求在字符串中匹配中文数字组合的java正则表达式

问题描述 求一个在字符串中识别 中文和数字组合的子串 的java方法,如用正则表达式来匹配.如何匹配? 中文和数字组合的子串 子串格式为:1.中文个数 为 3-6个字. 2.数字 可以固定在1-4位, 正则为d{1,4}. 3."号"字如"小镇100号""大街101号" 这种形式 输入为 1个字符串 s="我在小镇100号"; 输出为 result = "小镇100号"; 输入为 1个字符串 s="

静态代码扫描可优化的代码,把代码当字串,用正则或字符串技术匹配模式,怎么识别出这种可优化的代码?有空的一起研究下,额外奖分。

问题描述 List<string>A=newList<string>();List<string>B=newList<string>();foreach(stringainA){foreach(stringbinB){if(a==b){//类似这种取交集的,都可以用哈希或IENumerable.Intersect()优化,但不容易扫准}}}for(inti=0;i<A.Count;i++){for(intj=0;j<B.Count;j++){if

JavaScript中两个字符串的匹配_javascript技巧

工作中遇到一个问题,两个字符串匹配,要求:每个字符串中最多含有一个*,?可以无限多个 *代表一个任意长度的字符串,而?则代表一个字符 要求可以提示出两个冲突 复制代码 代码如下: <input type="text" id="str1"><br> <input type="text" id="str2"><br> <input type="button"

C/C++实现字符串模糊匹配_C 语言

需求: 准入授权配置文件有时候分了好几个维度进行配置,例如 company|product|sys这种格式的配置: 1.配置 "sina|weibo|pusher" 表示 sina公司weibo产品pusher系统能够准入,而"sina|weibo|sign"不允许准入 2.配置 "sina|*|pusher" 表示sina公司所有产品的pusher系统都能够准入 3.配置 "*|*|pusher" 表示所有公司的所有产品的p