正则表达式^什么时候是开始,什么时候是否

在学习正则表达式的时候,一些常见的规则我们都不难理解,但是有 一个正则表达式中的特殊字符让我一直有点搞不懂,就是”^”这个字符,文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。比如

/^A/会匹配"An e"中的A,但是不会匹配"ab A"中的A
  • 1
  • 1
  • 1

然后他还有第二种用法就是

当这个字符出现在一个字符集合模式的第一个字符时,他将会有不同的含义。

比如

/[^a-z\s]/会匹配"my 3 sisters"中的"3"
  • 1
  • 1
  • 1

这里的”^”的意思是字符类的否定,上面的正则表达式的意思是匹配不是(a到z和空白字符)的字符。 
以前总是搞不懂,什么时候”^”是否定字符,什么时候是匹配开始行,然后就查资料进行对比,终于发现了规律。

 
  1. /[(^\s+)(\s+$)]/g

  2. (^cat)$

  3. (^cat$)

  4. ^(cat)$

  5. ^(cat$)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

上面这个正则表达式中”^”就是限定开头的意思

这些正则表达式中”^”表示的就是表示字符类的否定。

 
  1. [^a]表示“匹配除了a的任意字符”。

  2. [^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。

  3. [\^abc]表示“找到一个插入符或者a或者b或者c”。

  4. [^\^]表示“找到除了插入符外的任意字符”。(呕!)

  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

经过对比,我发现了只要是”^”这个字符是在中括号”[]”中被使用的话就是表示字符类的否定,如果不是的话就是表示限定开头。我这里说的是直接在”[]”中使用,不包括嵌套使用。 
其实也就是说”[]”代表的是一个字符集,”^”只有在字符集中才是反向字符集的意思。

转载:

https://blog.youkuaiyun.com/luman1991/article/details/69805106

转载于:https://my.oschina.net/u/3873515/blog/2875181

Java中,读取本地txt文档内的json内容并将其转换成实体类,通常需要以下步骤: 1. 引入处理JSON的库:可以使用Gson、Jackson等库来处理JSON数据。例如,使用Gson库,首先需要添加Gson库的依赖到你的项目中。 2. 读取txt文件:使用Java的I/O类如`BufferedReader`来读取txt文件的内容。 3. 将读取的内容转换为实体类:使用Gson库的`fromJson`方法将JSON字符串转换为Java实体类对象。 下面是一个简单的示例代码: ```java import com.google.gson.Gson; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; // 假设有一个JSON数据对应的实体类如下: class MyEntity { private String name; private int age; // 省略getter和setter方法 } public class JsonToEntity { public static void main(String[] args) { String filePath = "path/to/your/file.txt"; // 替换为你的文件路径 Gson gson = new Gson(); MyEntity myEntity = null; try (BufferedReader br = new BufferedReader(new FileReader(filePath))) { StringBuilder sb = new StringBuilder(); String line; while ((line = br.readLine()) != null) { sb.append(line); } String json = sb.toString(); myEntity = gson.fromJson(json, MyEntity.class); // 将JSON转换为MyEntity对象 } catch (IOException e) { e.printStackTrace(); } // 使用myEntity对象进行后续操作... } } ``` 在上面的代码中,首先导入了`Gson`和`BufferedReader`相关的类。定义了一个`MyEntity`类,它是将要转换成的目标实体类。在`JsonToEntity`类的`main`方法中,通过`BufferedReader`读取txt文件内容,然后使用`Gson`对象的`fromJson`方法将JSON字符串转换为`MyEntity`对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值