是否有适用于Lego Mindstorm NXT的C#(.NET)库,它是最新的?
NOG.NET for LEGO Mindstorms
MindSqualls
乐高.NET
我知道,有MS机器人工作室,但我的问题不是那个.
我试图捕获正确的部分:使用java expr,但在下面的代码中,打印的捕获组是整个字符串,有什么问题?
String s ="xyz: 123a-45";
String patternStr="xyz:[ \\t]*([\\S ]+)";
Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(s);
//System.err.println(s);
if(m.find()){
int count = m.groupCount();
System.out.println("group count is "+count);
for(int i=0;i<count;i++){
System.out.println(m.group(i));
}
}
Run Code Online (Sandbox Code Playgroud) 我有这个字符串:
城市 - 这是一些文字.这是更多 - 并继续在这里.
我想在第一个' - '分割字符串以找到'city'(只是一个示例单词,它也可以是其他单词).另外,在" - "之后找到文本的其余部分.
我构造了这个表达式:
(^[\D\W\S]*)( - )([\D\W\S]*)
Run Code Online (Sandbox Code Playgroud)
但是这会发现最后一次出现' - '而不是第一次出现.
我怎么能在第一次出现时停下来?
我有这个网址:
http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&
而这个正则表达式模式:
cID=[^&]*
Run Code Online (Sandbox Code Playgroud)
产生这个结果:
cID=87B6XYZ964D293CF
Run Code Online (Sandbox Code Playgroud)
如何删除"cID ="?
谢谢
检查模式字符串的方法的正确语法是什么,如果正则表达式匹配则返回true或false?
基本理念:
def has_regex?(string)
pattern = /something/i
return string =~ pattern
end
Run Code Online (Sandbox Code Playgroud)
使用案例:
if has_regex?("something")
# woohoo
else
# nothing found: panic!
end
Run Code Online (Sandbox Code Playgroud) /i这个正则表达式的尾部是什么意思?
var time = /^([1-9]|1[0-9]):([0-5][0-9])(\s[a|p]m)$/i;
Run Code Online (Sandbox Code Playgroud) 在回答这个问题时(并且已经阅读了类似问题的答案),我认为我知道Python如何缓存正则表达式.
但后来我想我会测试它,比较两种情况:
然而,结果是惊人的(在Python 3.3中):
>>> import timeit
>>> timeit.timeit(setup="import re",
... stmt='r=re.compile(r"\w+")\nfor i in range(10):\n r.search(" jkdhf ")')
18.547793477671938
>>> timeit.timeit(setup="import re",
... stmt='for i in range(10):\n re.search(r"\w+"," jkdhf ")')
106.47892003890324
Run Code Online (Sandbox Code Playgroud)
这慢了5.7倍!在Python 2.7中,仍然增加了2.5倍,这也超出了我的预期.
在Python 2和3之间是否更改了正则表达式的缓存?文档似乎没有暗示这一点.
rePython中的一个特别怪异的(非常强大的)模块是re.split() 永远不会在零长度匹配上拆分字符串,例如,如果我想沿着字边界分割字符串:
>>> re.split(r"\s+|\b", "Split along words, preserve punctuation!")
['Split', 'along', 'words,', 'preserve', 'punctuation!']
Run Code Online (Sandbox Code Playgroud)
代替
['', 'Split', 'along', 'words', ',', 'preserve', 'punctuation', '!']
Run Code Online (Sandbox Code Playgroud)
为什么会有这个限制?它是按设计的吗?其他正则表达式的味道是这样的吗?
我有这个正则表达式: /[^a-zA-Z0-9_-]/
我想在上面添加的内容是:
a-zA-Z 我怎么能做这个正则表达式?
考虑以下:
>>> import re
>>> a = "first:second"
>>> re.findall("[^:]*", a)
['first', '', 'second', '']
>>> re.sub("[^:]*", r"(\g<0>)", a)
'(first):(second)'
Run Code Online (Sandbox Code Playgroud)
re.sub()最初的行为更有意义,但我也能理解re.findall()行为.毕竟,你可以匹配之间的空字符串 first和:仅包含非冒号字符(其中恰好为零),但为什么不re.sub()表现的一样吗?
不应该是最后一个命令的结果(first)():(second)()吗?