我很难理解一个简单的regex。我搜索了一下。不知怎么的,我一点也不感兴趣。
以下是一种方法:
public static void testMethod(){
String line = "This order was placed for QT3000! OK?";
String pattern = "(.*)(\\d+)(.*)";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now
我有一个ADT表示我想使用/检测的密码算法。泛型类Algo包含一些实用方法,包括一个方便的自动生成的regex,用于检测字符串中algo的名称。
sealed trait Algo {
override def toString = this.getClass.getSimpleName.dropRight(1)
val name = toString
val javaName = toString.replaceFirst("HS", "HmacSHA")
val r = s".*$name.*".r
我试图使用全局修饰符从字符串中提取匹配的部分。
考虑:
my $a="A B C";
my $b="A B C";
foreach ($a =~ /(\w)/g) {
print "$1\n";
}
while ($b =~ /(\w)/g) {
print "$1\n";
}
输出:
C
C
C
A
B
C
我很困惑;为什么while循环工作,而foreach循环不工作呢?(它打印C三次)。
这是我试图在一个文本文件中识别的字符串。文本文件的每一行都有一个我需要提取的特定字段。例如:
Field1 = This is the content for field 1
Field2 = This is the content for field 2
Field3 = This is the content for field 3, which is = to 4445
假设我想提取field3的第一个"=“符号后的内容。如何获取内容"This is the content for field 3,This is = to 4445“,包括第二个"=”符号,但不是
对于如何使用NSRegularExpression获取捕获组,我有一个小问题。
let string = "QWERTY123 ASDFGH"
let nsString = string as NSString
let regex = try! NSRegularExpression(pattern: "(\\D+)\\d+\\s(\\D+)", options: [])
let result = regex.matchesInString(string, options: [], range: NSMakeRange(0, nsString.length))
下面的代码是在许多输入行中打印包含由两个相等部分组成的单词的行。
例如:
输入: DAAD是一个基础。输出: DAAD是一个基础。
输入: DA AD是一个基础。输出:不适用
请解释下面的'if‘语句:
import sys
import re
for line in sys.stdin:
line = line.rstrip()
if re.search(r"\b(\w+)\1\b", line) is not None:
print(line)
我是一名CS学生,我们的教授给了我们这个“例子”,我翻译得很糟糕,但它应该是:
“获取内括号数据并剥离关联的括号,然后添加文本的其余部分,并在其间留出空格”。
import re pattern=re.compile(r'\(.*?\)') res=pattern.search('(Today is a nice and sunny)day!)') print(res.group())
我看到了应该是什么结果:
(Today is a nice and sunny)
(Today is a nice and sunny day!)
但代码只打印前者,我试图通过将
我使用以下正则表达式在提要中的标记中搜索图像:
var str=items.item(i).getElementsByTagName("content:encoded").item(0).text;
var patt1=/([a-z\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif))/i
var urlMatch = str.match(patt1);
然后,我将打印到控制台urlMatch、urlMatch1和urlMatch2,以便在以下标记中进行打印:
<![CDATA[
<p><a href="http://www.hi
我想使用RegEx查看一条SWIFT消息。我有以下节选:
:16R:FIN
:35B:ISIN CH0117044708
ANTEILE -DT USD- SWISSCANTO (CH)
INDEX FUND V - SWISSCANTO (CH)
INDEX EQUITY FUND USA
:16R:FIA
我正在尝试将第三组的全部信息:
ISIN CH0117044708
ANTEILE -DT USD- SWISSCANTO (CH)
INDEX FUND V - SWISSCANTO (CH)
INDEX EQUITY FUND USA
相反,我得到的是:只有ISIN CH011704
我有一个文本文件,比如
Hi
how are you
<blank>
<blank>
abcd
<blank>
defgh
opqr
<blank>
我想打印的所有行的模式像“一些文本”空白“一些文本”喜欢
how are you
<blank>
<blank>
abcd
我正在考虑使用join,然后搜索模式。但我不确定该怎么做。(空白指的是空行)
我需要匹配以下两个字符串:
1.
string1 = "the following paired punc can be, and also can be nothing, [ if the last one is ]" # otherwise it should not match.
2.
string2 = "the following paired punc can be, and also can be nothing, { if the last one is }" # otherwise it should also not match.
我有以下代码:
echo preg_replace("/test/","$1000","this is a test");
我期待这个打印:“这是一个1000美元”,但我得到了“这是00”。
这是一个简单的例子,指出了我目前遇到的问题。在这种情况下,我不能使用str_replace。我也不能用‘$36’代替'$‘,我的编程中有递归功能,它依赖于'$’保持'$‘,'$#36’保持‘$36’。
以下打印ac | a | bbb | c
#!/usr/bin/env perl
use strict;
use warnings;
# use re 'debug';
my $str = 'aacbbbcac';
if ($str =~ m/((a+)?(b+)?(c))*/) {
print "$1 | $2 | $3 | $4\n";
}
似乎失败的匹配不会重置捕获的组变量。我遗漏了什么?