我需要一个正则表达式来选择两个外括号之间的所有文本.
例: some text(text here(possible text)text(possible text(more text)))end text
结果: (text here(possible text)text(possible text(more text)))
我是正则表达式的新手.我正在尝试解析以下类型的字符串:
description:"aoeu"
哪里有任意键:里面有"val"对.我想抓住关键名称和价值.对于那些好奇的我正在尝试解析任务战士的数据库格式.这是我的测试字符串:
description:"aoeu"这是为了强调除了空格之外的任何东西都可以在键或值中,冒号周围没有空格,值总是用双引号.在节点中,这是我的输出:
[key:"val" key2:"val2"]
Run Code Online (Sandbox Code Playgroud)
但description:"aoeu"也符合这种模式.我怎样才能把所有比赛都拿回来?
什么是正则表达式(在JavaScript中,如果重要的话)只匹配文本是否完全匹配?也就是说,字符串的另一端不应该有额外的字符.
例如,如果我想匹配abc,然后1abc1,1abc和abc1将不匹配.
我想在整个单词上匹配正则表达式.
在下面的例子中,我试图匹配s或者season我匹配的s,e和a,o和n.
[s|season]
Run Code Online (Sandbox Code Playgroud)
如何使正则表达式匹配整个单词?
我在Java 1.6中使用Java正则表达式(尤其是解析数字输出)并且找不到\b("单词边界")的精确定义.我假设这-12将是一个"整数字"(匹配 \b\-?\d+\b),但似乎这不起作用.我很想知道匹配空格分隔数字的方法.
例:
Pattern pattern = Pattern.compile("\\s*\\b\\-?\\d+\\s*");
String plus = " 12 ";
System.out.println(""+pattern.matcher(plus).matches());
String minus = " -12 ";
System.out.println(""+pattern.matcher(minus).matches());
pattern = Pattern.compile("\\s*\\-?\\d+\\s*");
System.out.println(""+pattern.matcher(minus).matches());
Run Code Online (Sandbox Code Playgroud)
返回:
true
false
true
Run Code Online (Sandbox Code Playgroud) 如何使用re模块获取所有比赛的开始和结束位置?例如,给定模式r'[a-z]'和字符串'a1b2c3d4'我想要获得它找到每个字母的位置.理想情况下,我也希望得到比赛的文字.
我想取字符串0.71331, 52.25378并返回0.71331,52.25378- 即只需查找数字,逗号,空格和数字,并删除空格.
这是我目前的代码:
coords = '0.71331, 52.25378'
coord_re = re.sub("(\d), (\d)", "\1,\2", coords)
print coord_re
Run Code Online (Sandbox Code Playgroud)
但这给了我0.7133,2.25378.我究竟做错了什么?
我正在尝试创建类似于此的东西:
var regexp_loc = /e/i;
Run Code Online (Sandbox Code Playgroud)
除了我希望regexp依赖于一个字符串,所以我尝试使用新的RegExp,但我无法得到我想要的.
基本上我希望e上面的regexp是一个字符串变量,但我的语法失败了.
我试过这样的事情:
var keyword = "something";
var test_regexp = new RegExp("/" + keyword + "/i");
Run Code Online (Sandbox Code Playgroud)
基本上我想在一个更大的字符串中搜索一个子字符串然后用一些其他字符串替换该字符串,不区分大小写.
亚历山大
regex ×10
javascript ×2
python ×2
cpu-word ×1
expression ×1
java ×1
regex-group ×1
string ×1
taskwarrior ×1