正则表达式怎么提取json中的value?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式怎么提取json中的value?相关的知识,希望对你有一定的参考价值。
json字符串:"content":"正则表达式,怎么提取json中的value","A":"B","AA":"BB"
我写的正则表达式:(?<="?content"?:)[^,]*
因为上面的字符串中的value中的逗号是中文的,而我正则中的[^,] 是英文的,所以,这样可以截取到整个value值;但是工作中遇到的情况是那个value中的逗号很多都是英文的,这样的话只能截取到”正则表达式“,后面的内容就挂掉了
求教各位这个正则该怎么写才能提取出完整的value值?
补充:
.子程序 GetPattern, 文本型, 公开 返回 (表达式.读文本属性 (“Pattern”, )) .子程序 SetPattern, , 公开 .参数 欲写入属性值, 文本型 表达式.写属性 (“Pattern”, 欲写入属性值) .子程序 GetIgnoreCase, 逻辑型, 公开 返回 (表达式.读逻辑属性 (“IgnoreCase”, )) .子程序 SetIgnoreCase, , 公开 .参数 欲写入属性值, 逻辑型 表达式.写属性 (“IgnoreCase”, 欲写入属性值) .子程序 GetGlobal, 逻辑型, 公开 返回 (表达式.读逻辑属性 (“Global”, )) .子程序 SetGlobal, , 公开 .参数 欲写入属性值, 逻辑型 表达式.写属性 (“Global”, 欲写入属性值) .子程序 GetMultiline, 逻辑型, 公开 返回 (表达式.读逻辑属性 (“Multiline”, )) .子程序 SetMultiline, , 公开 .参数 欲写入属性值, 逻辑型 表达式.写属性 (“Multiline”, 欲写入属性值) .子程序 Execute, 对象, 公开 .参数 sourceString, 文本型 返回 (表达式.对象型方法 (“Execute”, sourceString)) .子程序 Test, 逻辑型, 公开 .参数 sourceString, 文本型 返回 (表达式.逻辑方法 (“Test”, sourceString)) .子程序 Replace, 文本型, 公开 .参数 sourceString, 文本型 .参数 replaceVar, 文本型 返回 (表达式.文本方法 (“Replace”, sourceString, replaceVar))
用正则表达式提取网址中的IP怎样取?
比如:http://10.1.1.1:8080/abcde/cdf.…… 取10.1.1.1:8080怎样取?
\\d+\\.\\d+\\.\\d+\\.\\d*\\:\\d+
import java.util.regex.*;
// 表达式对象
Pattern p = Pattern.compile("\\\\d+\\\\.\\\\d+\\\\.\\\\d+\\\\.\\\\d*\\\\:\\\\d+");
// 创建 Matcher 对象
Matcher m = p.matcher("");
// 是否找到匹配
boolean found = m.find();
if( found )
String foundstring = m.group();
int beginPos = m.start();
int endPos = m.end();
用正则表达式提取网址的方式如下:
用ifconfig来提取
ifconfig eth0|grep "inet addr"|awk 'print $2'|awk -F: 'print $2'192.168.10.1
用ip addr来提取。
ip addr | grep -Po '[^ ]+(?=/\\d)'
没有对IP地址的有效性做检查:
<html><head>
<!--
将此内容保存为 html 文件,浏览器允许运行脚本进行测试。
-->
<script type="text/javascript">
function check()
var str;
str = document.getElementById("txtInput").value;
if (str.match(/(\\d+\\.\\d+\\.\\d+\\.\\d+:\\d+)/) != null)
alert("提取IP端口:" + RegExp.$1);
else
alert("没有提取到内容。");
</script>
</head>
<body>
输入:<input type="text" id="txtInput" value="http://10.1.1.1:8080/abcde/cdf" />
<button type="button" onclick="check()">正则检查</button>
</form>
</body>
</html>追问
用java 怎么写啊
追答没写过java,正则表达式在什么语言中都是一样的,所以你了解一下java使用正则表达式相关的用法,然后对应的正则表达式用这个去写代码:
(\d+\.\d+\.\d+\.\d+:\d+)
以上是关于正则表达式怎么提取json中的value?的主要内容,如果未能解决你的问题,请参考以下文章