替换笑脸[face] 或者[img] 标签 正则表达式

// 还原图片
		if(str.contains("[img]")){
			String regex = "\\[img\\]([\\s\\S]*?)\\[/img\\]";
			Pattern pat = Pattern.compile(regex);
			Matcher matcher = pat.matcher(str);
			while(matcher.find()){
				// 整个表达式
				String item = matcher.group();
				String imgUrl = matcher.group(1);
				// 拼接后的img标签
				String imgTag = "<img src=\""+ imgUrl +"\" />";
				// 使用img标签替换
				str = str.replace(item, imgTag);
	        }
		}
		// 还原笑脸
		if(str.contains("[face]")){
			String regex = "\\[face\\]([\\s\\S]*?)\\[/face\\]";
			Pattern pat = Pattern.compile(regex);
			Matcher matcher = pat.matcher(str);
			while(matcher.find()){
				// 整个表达式
				String item = matcher.group();
				String imgUrl = matcher.group(1);
				// 拼接后的img标签
				String imgTag = "<img src=\""+ imgUrl +"\" />";
				// 使用img标签替换
				str = str.replace(item, imgTag);
	        }
		}

 

Java中的正则表达式是一种文本匹配模式,它可以用于检查字符串是否符合特定的规则。在处理表情包时,如果你想要通过正则表达式来比较或者筛选包含特定表情的字符串,你需要定义能够匹配这些表情正则表达式模式。 例如,表情可以是简单的字符,如 ASCII 表情符号 :-) 或者 Unicode 表情符号 😄。下面是一个简单的例子来展示如何使用正则表达式来匹配一些基本的 ASCII 表情符号: ```java String[] strings = {"Hello world :-)", "This is a test :(", "Have a nice day :D"}; for (String s : strings) { if (s.matches(".*[:;=-]+[)DpP].*")) { System.out.println(s + " contains an ASCII smiley face!"); } } ``` 在这个例子中,正则表达式 `.*[:;=-]+[)DpP].*` 匹配任何包含至少一个 `:` 或 `;` 或 `-` 或 `=` 后跟一个 `)` 或 `D` 或 `p` 或 `P` 的字符串。这能够匹配几种常见的 ASCII 表情符号,如 `:-)`, `;)`, `=-(` 等。 对于 Unicode 表情符号,你需要使用 Unicode 范围或者直接在正则表达式中包含这些表情符号。比如,使用 Unicode 范围匹配所有笑眯眯的表情符号: ```java String[] strings = {"😊", "😄", "😁", "😂", "🤣"}; for (String s : strings) { if (s.matches("[\\u1F600-\\u1F64F]+")) { System.out.println(s + " is a grinning face!"); } } ``` 在 Java 正则表达式中,使用 `\\u` 后跟四位十六进制数来匹配对应的 Unicode 字符。`\\u1F600-\\u1F64F` 是一个 Unicode 范围,它包括了从 grinning face 到 rolling on the floor laughing 的一系列笑容表情符号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值