以不是某字符开头正则表达式怎么写?

wangyingdong 2012-12-29 03:53:50
String aa = "111 222 333 444 123 1234";
现在匹配 以1开头空格结尾的字符,结果是:111 123


String regEx1 = "(1.*? )";
Pattern pattern1 = Pattern.compile(regEx1);
Matcher matcher1 = pattern1.matcher(aa);
while(matcher1.find()){
System.out.println(matcher1.group());
}




我想匹配 不是1开头空格结尾的字符,结果是:222 333 444 1234


这组正则该怎么写?谢谢大家,在线等。
...全文
462 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyingdong 2012-12-29
  • 打赏
  • 举报
回复
不对。想匹配 不是1开头空格结尾的字符,结果是:222 333 444 1234
若鱼1919 2012-12-29
  • 打赏
  • 举报
回复

public static void main(String[] args) throws Exception {
		String aa  = "111 222 333 444 123 1234";
		Matcher m = Pattern.compile("1[^\\s]*?(\\s|$)").matcher(aa);
		//现在匹配 以1开头空格结尾的字符,结果是:111 123
		while(m.find()){
			System.out.println(m.group());
		}
	}
wangyingdong 2012-12-29
  • 打赏
  • 举报
回复
感谢楼上的几位,换个字符串 String aa = "aaa bbb abab ccc accc"; 匹配a开头的字符串,并且结尾是空格的,结果有:aaa abab
game4daniel 2012-12-29
  • 打赏
  • 举报
回复
\\b[02-9][0-9]*\\b 试试这个 \\b代表词边界 [02-9]除1以外所有的数字打头 后面[0-9]随意
  • 打赏
  • 举报
回复
string.charAt(0) 主要要强转int型
  • 打赏
  • 举报
回复

这个不用正则可能更简单吧
string.charAt(0)!=1和string.charAt(string.length()-1)!=''就行了
  • 打赏
  • 举报
回复

这个不用正则可能更简单吧,string.charAt(0)!=1和string.charAt()!=''

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧