hye,在执行这个拆分代码时,我得到了一个错误“System.ArgumentOutOfRangeException类型的未处理异常在System.dll中发生了”。错误发生在代码textBox1.Text= mc.Groups1.Value;
var desiredText = File.ReadLines(location).ElementAt(i);
string s = desiredText.ToString();
//textBox3.Text = s;
Regex r = new Regex(@"[(.+?)
嘿,这是我第一次在这个很棒的社区里发帖。
我在C#应用程序中有一个正则表达式来解析变量的赋值:
NewVar = 40
它被输入到文本框中。我希望我的正则表达式返回(使用Regex.Split)变量的名称和值,非常简单。这是我到目前为止所拥有的Regex:
var r = new Regex(@"^(\w+)=(\d+)$", RegexOptions.IgnorePatternWhitespace);
var mc = r.Split(command);
我的目标是修剪正则表达式中的空格,而不是使用返回值的Trim()方法。目前,它可以工作,但它在MatchCollectio
我需要一个正则表达式来检查输入是否恰好是4个数字。我正在使用"\d{4}“(也尝试了”\d\d“)。但是如果你输入5个数字,它也会显示输入是有效的。
[TestMethod]
public void RegexTest()
{
Regex expr = new Regex("\\d{4}");
String a = "4444", b = "4l44", c = "55555", d = "5 55";
Match mc = expr.Ma
在PHP中,我可以使用foreach循环,这样我就可以访问键和值,例如:
foreach($array as $key => $value)
我有以下代码:
Regex regex = new Regex(pattern);
MatchCollection mc = regex.Matches(haystack);
for (int i = 0; i < mc.Count; i++)
{
GroupCollection gc = mc[i].Groups;
Dictionary<string, string> match = new Dictiona
我很难找到一个很好的资源来解释如何在C#中使用命名捕获组。这是我到目前为止所拥有的代码:
string page = Encoding.ASCII.GetString(bytePage);
Regex qariRegex = new Regex("<td><a href=\"(?<link>.*?)\">(?<name>.*?)</a></td>");
MatchCollection mc = qariRegex.Matches(page);
CaptureCollection cc = m
问题:,我想创建一个正则表达式,在开头检测'M‘,然后查找'^’作为结束。我的问题是,我希望我的正则表达式检测单行字符串中的所有实例,然后输出它们。
示例:
字符串:M 123456789^M 123^C 123^M 1234^
产出应是:
M 123456789^
M 123^
M 1234^
Notice that I reject 'C123^' because it doesnt start on 'M'.
到目前为止,我有一个正则表达式检测'M',但我在操作上有问题。
这是我的密码:
Sub Main
我使用Regex返回两行文本,但它返回带有其他文本的换行符。
//Text is located in txt file and contains
I've been meaning to talk with you.
I've been meaning to talk with you.
I've been meaning to talk with you.
string text = File.ReadAllText(@"C:\...\1.txt");
Regex unit = new Regex(@"(?<Text>.+(\
给出以下片段:
Pattern pt = Pattern.compile("\ndog", Pattern.LITERAL);
Matcher mc = pt.matcher("\ndogDoG");
while(mc.find())
{
System.out.printf("I have found %s starting at the " +
"index %s and ending at the index %s%n",mc.group(),mc.start(),mc.end());
我的字符串看起来像这样:
DTTGGRKDVVNHCGKKYKDK
RKDVVNHCGKKYKDKSKRAR
我想要做的是用粗体和红色字体突出显示区域。结果是:
我在Excel VBA中使用LIKE操作符尝试了以下代码,但它在Set MC = .Execute(C.Text)行中断
Option Explicit
Sub boldSubString()
Dim R As Range, C As Range
Dim MC As Object
Set R = Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp
我试图在输入字符串中找到每个"a -> b,c,d“模式。我使用的模式如下:
"^[ \t]*(\\w+)[ \t]*->[ \t]*(\\w+)((?:,[ \t]*\\w+)*)$"
此模式是一个C#模式,"\t“表示一个表格(它是一个转义的字母,由.NET STring API解释),"\w”表示众所周知的regex字母预定义类,双转义被.NET String API解释为"\w“,然后被.NET Regex API解释为"WORD类”。
输入为:
a -> b
b -> c
c -> d
该函数为:
我意识到一个类似的问题得到了并得到了答案,但在我尝试了该答案中提出的解决方案之后,问题依然存在。
我想要写一个Excel宏,将多行字符串分隔成多行,包括换行在内的空格。这是我的密码:
Sub testRegexMatch()
Dim r As New VBScript_RegExp_55.regexp
Dim str As String
Dim mc As MatchCollection
r.Pattern = "[\r\n\s]*([^\r\n]+?)[\s\r\n]*$"
r.Global = True
r.MultiLine
如何修复此RegEx以可选地捕获文件扩展名?
我正在尝试将字符串与可选组件匹配,但似乎有些地方出错了。(正在匹配的字符串来自打印机日志。)
我的RegEx (.NET风味)如下:
.*(header_\d{10,11}_).*(_.*_\d{8}).*(\.\w{3,4}).*
-------------------------------------------
.* # Ignore some garbage in the front
(header_ # Match the start of the file name,
我有一个字符串,如下所示:
Dim strTestString = "\nOwner: John Smith\n123 Main St\n"
我解析出的名称没有任何问题,如下所示:
Dim mc As Match = Regex.Match(strTestString, "(?<=\\nOwner: )(.*?)(?=\\n)")
Console.WriteLine(mc.Value.ToString())
我的问题是当我试图获取地址时(123 Main St)。我正在尝试使用\G元字符。当我使用以下代码时,我返回一个空字符串:
mc = Regex.Ma
我刚刚开始使用正则表达式,所以请耐心使用我的术语。我有一个正则表达式模式,它可以在字符串上正常工作。该字符串的格式可以是"text pattern text“。因此,我还有一个正则表达式模式,它否定了第一个模式。如果我打印出每一场比赛的结果,一切都会正确显示。
我遇到的问题是,我想将文本添加到字符串中,但它会更改正则表达式MatchCollection中匹配项的索引。例如,如果我想将找到的匹配项包含在"td“匹配”/td“标记中,我有以下代码:
Regex r = new Regex(negRegexPattern, RegexOptions.IgnoreCase | Rege
我想用另一个字符串替换一些字符串。我使用以下代码:
$mc = 'Hello I have these bages: [A-561],[A-123],[A-1],[A-5234]';
$medal = '<img src="1" />';
$bages = preg_replace('/^\[A-[0-9]+\]/i',$medal,$mc);
echo $bages
它打印出以下内容:
Hello I have these bages: [A-561],[A-123],[A-1],[A-5234]
如果我将$mc更改
我正在处理一个字符串,并希望使用MatchCollection和C#中的Regex在两个字符之间捕获两个子字符串。它给出了一些逻辑错误“指定的参数超出了有效值的范围。参数名称: i”测试字符串:“快速#棕色狐狸&跳过the+懒狗”;
b2 = "A quick #brown fox& jumps over+ the lazy dog";
Regex r = new Regex(@"#(.+?)&");
MatchCollection mc = r.Matches(b2);
s
我遇到了以下问题,我想知道是否有人能看到为什么这会使我的.net工作进程(aspnet_wp.exe)崩溃:
Dim pattern As String = "\{\{IF\(((?!\)}})(.))+,,,((\s)*(?!\)}})(.))+\)}}"
Dim mc As RegularExpressions.MatchCollection = Regex.Matches(txtContent.Text, pattern)
如果找到匹配项,则工作完全正常,例如
<h3>Title</h3>
<p>Top paragraph.&l
所以,我有一个基本的程序,它匹配字符串中的特定模式,然后将所有匹配存储在一个数组中。然后将每个匹配的元素附加到一个字符串中。 现在我的问题是,如何将原始字符串中的匹配模式替换为我根据regex生成的修改后的字符串。 可以在以下位置找到示例工作程序:https://dotnetfiddle.net/UvgOVc 如您所见,生成的最终字符串只包含最后修改过的字符串。如何替换替换中对应的匹配项? 代码: using System;
using System.Text.RegularExpressions;
using System.Linq;
public class Program
{
我自己搞不清楚,我必须匹配一个以ASP.开头,以_aspx结尾的字符串,但是我需要排除匹配的开始( ASP.部分)。
例如,
string input = "random stack trace text ASP.filename_aspx random text";
Regex r = new Regex("Regular expression needed!!!");
var mc = r.Matches(s);
foreach (var item in mc)
{
Console.Write
我正在逐行阅读文件。每一行如下所示:
xxyu: JHYU_IOPI
每一行都传递给awk,如下所示。我想打印匹配模式的前一行;我可以用grep实现这一点,并且想知道我在awk上犯了什么错误。
#!/bin/bash
while read i
do
awk '/$i/{print a}{a=$0}' ver_in.txt
done
我也试过这个:
#!/bin/bash
while read i
do
awk -v var="$i" '/var/{print a}{a=$0}' jil.txt
done
编辑:使用awk后,得到建议不要使用s