java正则表达式提取xxxx(yyyy)中的内容

在古诗中,我们提取到了题目与作者在一起的数据,如

行宫(元稹)

里面的括号是英文括号,现在要分别提取出标题与作者。有两种方案:

(1)通过split得到

      String [] strArray = Pattern.compile("\\(|\\)").split("行宫(元稹)");
        for (String str : strArray){
            System.out.println(str);
        }

输出为

行宫
元稹

(2)通过普通捕获组得到

Pattern p = Pattern.compile("(.*)(\\()(.*)(\\))");
        Matcher m = p.matcher("行宫(元稹)");
        if (m.find()){
            System.out.println(m.group(1));
            System.out.println(m.group(3));
        }

输出同上。

时间: 2024-10-14 18:26:30

java正则表达式提取xxxx(yyyy)中的内容的相关文章

Java IO把一个文件中的内容以字符串的形式读出来

代码记录(备查): /** * 把一个文件中的内容以字符串的形式读出来 * * @author zhipengs * */ public class FileToString { public static void main(String[] args) { System.out.println(readFileToString()); } private static String readFileToString() { // new 一个空文件,用于获取路径 File dirs = ne

用正则表达式替换指定标签中的内容

用正则表达式替换指定标签中的内容,也是在工作中遇到的就顺手记了下来 string sXML = "ABCDEFCSF<p>123123</p>KOPL";//现在我要去掉P标签中的内容,实现 ABCDEFCSFKOPL这样的效果. 引入:using System.Text.RegularExpressions; Regex rg = new Regex("<pict>.*</pict>"); sXML = rg.Rep

Java正则表达式提取字符

需求:提取车牌号中最后一个数字,如:宁A7865提取5,宁A876X提取6 实现方法: import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String[] args) { String s = "A876X"; // 把要匹配的字符串写成正则表达式,然后要提取的字符使用括号括起来 // 在这里,我们要提取最后一个数字,正则

PHP正则表达式提取html超链接中的href地址

用php的正则表达式相关函数,实现提取html超链接<a href="地址"></a>中的地址 <?php $preg='/<a .*?href="(.*?)".*?>/is'; $str ='<a href="链接1">URLNAME</a>文本段1<a href="链接2" target="_blank">URLNAME<

Java 正则表达式提取标签中的属性(src 连接地址)等

public class Test { public static void main(String[] args) { String source = "<p><img src=\"https://xxxxx/xxx/xxxx/182cd48c587651767921868181f66ca8.jpg\" />sdfasdfasdfsadfasdfasdfasdfasdfasdf</p><img src=\"https://

java正则表达式提取字符串中的数字

http://stackoverflow.com/questions/2367381/extract-numbers-from-a-string-java Pattern p = Pattern.compile(\\d+); 使用这个会有空字符串出现 Pattern p = Pattern.compile("-?\\d+"); 这是OK,

java正则表达式获得html字符串中&lt;img src&gt;的src中的url地址

/** * 得到网页中图片的地址 */ public static Set<String> getImgStr(String htmlStr) { Set<String> pics = new HashSet<>(); String img = ""; Pattern p_image; Matcher m_image; // String regEx_img = "<img.*src=(.*?)[^>]*?>";

使用Java正则表达式提取字符串末尾的数字一例

直接上代码: String reg = "\\D+(\\d+)$"; //提取字符串末尾的数字:封妖塔守卫71 == >> 71 String s = monster.getMonsterName(); Pattern p2 = Pattern.compile(reg); Matcher m2 = p2.matcher(s); int historyHighestLevel = 1; if(m2.find()){ historyHighestLevel = Integer.

C#正则表达式提取文本中以逗号间隔的数据

使用正则表达式提取文本数据到内存是很方便的技术,下面通过一个例子介绍一下如何使用正则表达式提取文本 文本中内容格式 1,2,3,4,5 2,2,2,2,2 3,3,3,3,3 C#代码如下 public List<List<string>> GetDataCSV(string path) {         string pattern = @"\d+"; List<List<string>> data = new List<Lis