当前位置: 首页 > news >正文

做网站是那个语言写的最近播放中文版在线观看电视剧

做网站是那个语言写的,最近播放中文版在线观看电视剧,企业建站公司排名为什么不好做,泡芙短视频app在哪里可以赚钱标准的正则表达式是什么样的 Node.js(JavaScript) 在正则表达式中,斜杠(/)用来表示正则表达式的开始和结束。在JavaScript中,正则表达式可以使用斜杠包裹起来,以表示这是一个正则表达式的字面量。 在Node.js中&…

标准的正则表达式是什么样的

Node.js(JavaScript)

在正则表达式中,斜杠(/)用来表示正则表达式的开始和结束。在JavaScript中,正则表达式可以使用斜杠包裹起来,以表示这是一个正则表达式的字面量。

在Node.js中,可以使用正则表达式的test()方法来检查一个字符串是否匹配某个模式。以下是一个示例代码,演示了如何使用正则表达式匹配以1开头,后面跟着两个数字的字符串:

const str = '123';
const regex = /^1\d{2}$/;if (regex.test(str)) {console.log('匹配成功');
} else {console.log('匹配失败');
}

在上面的示例中,^1\d{2}$是一个正则表达式,它的含义是:

^:匹配字符串的开头
1:匹配字符1
\d{2}:匹配两个数字(\d表示任意数字,{2}表示匹配两次)
$:匹配字符串的结尾

因此,该正则表达式可以匹配以1开头,后面跟着两个数字的字符串。在示例中,str的值为123,它符合这个模式,所以输出结果为匹配成功。

Java

private void RegTest2() {String content ="abc$(abc(1.23(";//匹配(String regStr = "\\d{2}";
//        String regStr = "\\.";Pattern pattern = Pattern.compile(regStr);Matcher matcher = pattern.matcher(content);while (matcher.find()){Log.i(TAG,"match:" + matcher.group(0));}}
2023-08-11 17:49:18.021 27898-29062/cn.jj.reg I/JJWorld.MainActivity: match:23

结论

不同语言正则表达式有区别,缺乏统一的正则标准。

ASCII码表

java读取文件assets中ini文件时,转义符消失的问题

java读取文件时,分为了三步。

第一步通过inputStream获取输入流。

如果将读取到的数据依次打印的话,可以看到是读取到了转移字符的

Properties properties = IniPropertiesReadUtils.loadFileFromAssetsNew(this, "jjapm1.ini");
     //读取Assets目录下的配置文件public static Properties loadFileFromAssetsNew(Context context, String filePath) {if (null == context || null == filePath || filePath.length() == 0)return null;InputStream assetFileIS = null;InputStreamReader assetFileISReader = null;Properties properties = new Properties();int readData = 0;try {assetFileIS = context.getResources().getAssets().open(filePath);while ((readData = assetFileIS.read())!= -1){Log.i(TAG,"read:" + (char)readData);}} catch (IOException e) {e.printStackTrace();properties = null;} finally {try {if (null != assetFileIS) {assetFileIS.close();}if (null != assetFileISReader) {assetFileISReader.close();}} catch (IOException e) {e.printStackTrace();}}return properties;}

在这里插入图片描述

2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:c
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:l
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:a
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:s
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:s
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:R
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:u
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:l
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:e
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read: 
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:=
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read: 
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:ä
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:¸
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:­
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:{
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:\
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:d
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:\
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:d
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:"
2023-08-12 10:05:26.258 27428-27460/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read:}

上面打印的控制信息不管,可见是打印出来了classRule = 中{\d\d"}的,只不过中文是乱码。

第二步 通过InputStreamReader获取输入字符流,处理乱码问题

//读取Assets目录下的配置文件public static Properties loadFileFromAssetsNew(Context context, String filePath) {if (null == context || null == filePath || filePath.length() == 0)return null;InputStream assetFileIS = null;InputStreamReader assetFileISReader = null;Properties properties = new Properties();int readData = 0;try {assetFileIS = context.getResources().getAssets().open(filePath);
//            while ((readData = assetFileIS.read())!= -1){
//                Log.i(TAG,"read:" + (char)readData);
//            }assetFileISReader = new InputStreamReader(assetFileIS, "UTF-8");while ((readData = assetFileISReader.read())!= -1){Log.i(TAG,"read11:" + (char)readData);}} catch (IOException e) {e.printStackTrace();properties = null;} finally {try {if (null != assetFileIS) {assetFileIS.close();}if (null != assetFileISReader) {assetFileISReader.close();}} catch (IOException e) {e.printStackTrace();}}return properties;}
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:c
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:l
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:a
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:s
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:s
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:R
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:u
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:l
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:e
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11: 
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:=
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11: 
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:{
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:\
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:d
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:\
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:d
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:"
2023-08-12 10:06:52.827 27565-27600/cn.jj.reg I/JJWorld.IniPropertiesReadUtils: read11:}

转义符依然是存在的,classRule = 中{\d\d"}

第三步 properties.load(assetFileISReader)对转义符进行了特殊处理,导致转义符失效

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JSONObject对转义符的处理

    private void jsonRegTest() throws JSONException {String jsonStr = "{key:\"va\\lue\"}";// JSONObject对\的处理JSONObject jsonObject = new JSONObject(jsonStr);Log.i(TAG, "jsonRegTest:" + jsonObject.toString());}

在这里插入图片描述

    public JSONObject(@NonNull String json) throws JSONException {this(new JSONTokener(json));}

new JSONObject会创建一个JSONTokener。JSONTokener保留设置进来的字符串。

    public JSONTokener(String in) {// consume an optional byte order mark (BOM) if it existsif (in != null && in.startsWith("\ufeff")) {in = in.substring(1);}this.in = in;}

JSONObject(String)核心代码

    public JSONObject(@NonNull JSONTokener readFrom) throws JSONException {/** Getting the parser to populate this could get tricky. Instead, just* parse to temporary JSONObject and then steal the data from that.*/Object object = readFrom.nextValue();if (object instanceof JSONObject) {this.nameValuePairs = ((JSONObject) object).nameValuePairs;} else {throw JSON.typeMismatch(object, "JSONObject");}}
http://www.yayakq.cn/news/890523/

相关文章:

  • seo网站做推广的公司郑州社交网站开发
  • 如何做婚庆公司的网站flask wordpress
  • scratch少儿编程网站html 音乐网站
  • 网站的建设与维护需要资质吗甘德网站建设
  • 网站建设的元素网络广告代理渠道
  • 在哪个网站上做预收款报告网站ui设计报价单
  • 免费企业网站模板html餐馆效果图网站
  • 汕头网址模板建站wordpress网站示例
  • 深圳网站营销推广公司电话网站建设基本目标
  • 南昌做企业网站移动建站工具
  • 南京网站设计案例建立英文网站
  • 网站建设的内容有哪些好的设计教程网站
  • 广东网站建设加工长春网络建站
  • 微商城网站建设信息专做定制网站建设
  • 奕腾网站建设婚庆公司多少钱
  • 制作公司网站视频公司网站开发外包公司
  • 五常网站建设网站建设销售策划方案
  • 广州建网站的公司有哪些免费咨询英文
  • 网站首页打开速度站酷网官网网址
  • 网站开发有哪些术语主流的网站开发工具
  • 做网站贵么网站建设公司推荐
  • 营销网站制作哪家有名国外做足球数据的网站有哪些
  • 网站建设的好处和目的移动端网站设计欣赏
  • 互联网站源码外币信用卡怎么做网站上用
  • 铜陵建设行业培训学校网站wordpress默认头像
  • 鄢陵县北京网站建设石家庄网站建设汉狮怎么样
  • 整屏幕滑动的网站广东网站制作多少钱
  • 如何做响应式网站视频教程阿里巴巴国际站下载
  • 公司介绍ppt模板免费下载来宾seo
  • 网站建设维护项目重庆建设岗位查询系统官网