相关疑难解决方法(0)

正则表达式前瞻,后观和原子团体

我在我的正则表达式身体中发现了这些东西,但我不知道我能用它们做什么.有人有例子,所以我可以尝试了解它们是如何工作的吗?

(?!) - negative lookahead
(?=) - positive lookahead
(?<=) - positive lookbehind
(?<!) - negative lookbehind

(?>) - atomic group
Run Code Online (Sandbox Code Playgroud)

regex lookaround

314
推荐指数
2
解决办法
16万
查看次数

正则表达式:我希望这个和那个......以任何顺序......

我甚至不确定这是否可能,但这就是我想要的.

String: "NS306 FEBRUARY 20078/9/201013B1-9-1Low31 AUGUST 19870"
Run Code Online (Sandbox Code Playgroud)

我有一个文本框,我在其中键入搜索参数,它们是空格分隔的.因此,我想返回一个匹配字符串是string1在字符串中,然后string2在字符串中,或​​者string2在字符串中,然后string1在字符串中.我不在乎字符串的顺序是什么,但是它们(我将会超过2个)必须在字符串中.

例如,在提供的字符串中我想要:

"FEB Low"
Run Code Online (Sandbox Code Playgroud)

要么

"Low FEB"
Run Code Online (Sandbox Code Playgroud)

......作为比赛返回

我真的是regex的新手,只读了一些关于这里的教程,但那是不久前我需要今天完成这个.星期一我开始了一个更重要的新项目,不能分散这个问题.无论如何使用正则表达式来执行此操作,还是必须遍历搜索过滤器的每个部分并排列顺序?任何和所有的帮助非常感谢.谢谢.

更新:我不想迭代循环并且正在寻找最佳性能的原因是因为不幸的是,我使用的dataTable在每次按键时调用此函数,我不希望它陷入困境.

更新:谢谢大家的帮助,非常感谢.

代码更新:

最终,这就是我的目标.

string sSearch = nvc["sSearch"].ToString().Replace(" ", ")(?=.*");
if (sSearch != null && sSearch != "")
{
  Regex r = new Regex("^(?=.*" + sSearch + ").*$", RegexOptions.IgnoreCase);
  _AdminList = _AdminList.Where<IPB>(
                                       delegate(IPB ipb)
                                       {
                                          //Concatenated all elements of IPB into a string
                                          bool returnValue = r.IsMatch(strTest); //strTest is the concatenated string
                                          return returnValue;
                                    }).ToList<IPB>();
                                       }
}
Run Code Online (Sandbox Code Playgroud)

IPB类有X个元素,在我所工作的整个站点中没有一个表是相同顺序的列.因此,我需要任何订单搜索,我不想写很多代码来做它.这里还有其他好的想法,但我知道我的老板真的很喜欢Regex(讲道他们),因此我认为如果我现在就这样做是最好的.如果由于某种原因网站的性能下滑(内部网站点),那么我会尝试另一种方式.感谢大家.

c# regex

43
推荐指数
1
解决办法
2万
查看次数

是否有一种优雅的方法来解析单词并在大写字母之前添加空格

我需要解析一些数据,我想转换

AutomaticTrackingSystem
Run Code Online (Sandbox Code Playgroud)

Automatic Tracking System
Run Code Online (Sandbox Code Playgroud)

基本上在任何大写字母之前放置一个空格(当然除了第一个)

.net c# regex

19
推荐指数
2
解决办法
5133
查看次数

正则表达式匹配{1,2,3,4}的所有排列而不重复

我在ruby中实现了以下问题.

这是我想要的模式:

1234,1324,1432,1423,2341等

即四位数字中的数字应该在[1-4]之间,也应该是非重复的.

为了让你以一种简单的方式理解我采取两位数模式,解决方案应该是:12,21

即数字应为1或2,并且应该是非重复的.

为了确保它们不重复,我想使用$ 1作为我的第二个数字的条件,但它不起作用.

请帮助我,并提前感谢.

regex permutation lookahead negative-lookahead

10
推荐指数
3
解决办法
6859
查看次数

如何从字符串中获取最后一个整数"56",如ra12ke43sh56?

如何从字符串中获取最后一个整数"56",如ra12ke43sh56?

我必须将下一个值修改为ra12ke43sh57,所以我想得到最后一个整数值.

java

8
推荐指数
2
解决办法
8642
查看次数

拆分文本时遇到问题

这是我正在使用的代码:

public class splitText {
public static void main(String[] args) {
    String x = "I lost my Phone. I shouldn't drive home alone";
    String[] result = x.split(".");
    for (String i : result) {
        System.out.println(i);
    }
}
}
Run Code Online (Sandbox Code Playgroud)

编译完美,但在运行时没有任何反应.我究竟做错了什么?

java split

5
推荐指数
2
解决办法
285
查看次数

匹配a ^ n A ^ n与正则表达式

我们正在学习常规语言和正则表达式之间的区别,老师解释了这种语言

a^n b^n
Run Code Online (Sandbox Code Playgroud)

不常见,但她说大多数正则表达口味都可以匹配

a^n A^n
Run Code Online (Sandbox Code Playgroud)

她为我们额外的学分作业问题提出了这个问题.我们现在已经苦苦挣扎了几天,并且可以真正使用一些指导.

regex

4
推荐指数
1
解决办法
385
查看次数

正则表达式计算直接扑克牌 - 使用ASCII码

在另一个问题中,我学会了如何使用正则表达式计算直接扑克牌(这里).

现在,出于好奇,问题是:我可以使用正则表达式使用ASCII代码计算相同的东西吗?

就像是:

正则表达式:[C] [C + 1] [C + 2] [C + 3] [C + 4],是C的ASCII码(或者像这样)

比赛:45678,23456

不符合:4567923459(不按顺序)

regex poker

4
推荐指数
1
解决办法
991
查看次数

使用正则表达式拆分不同长度的字符串

我不知道这是否可以使用正则表达式.我只是想问一下有人知道答案.

我有一个string ="hellohowareyou??".我需要像这样拆分它

[h, el, loh, owar, eyou?, ?].

完成分割使得第一串具有长度1,第二长度2等等.最后一个字符串将包含剩余的字符.我可以使用像这样的函数在没有正则表达式的情况下轻松完成.

public ArrayList<String> splitString(String s)
    {
        int cnt=0,i;
        ArrayList<String> sList=new ArrayList<String>();
        for(i=0;i+cnt<s.length();i=i+cnt)
        {
         cnt++;
         sList.add(s.substring(i,i+cnt));    
        }
        sList.add(s.substring(i,s.length()));
        return sList;
    }
Run Code Online (Sandbox Code Playgroud)

我只是好奇是否可以使用正则表达式完成这样的事情.

java regex string

3
推荐指数
2
解决办法
2312
查看次数

PHP regexp用于"字符串或模式的开头"

有没有办法(除了做两个单独的模式匹配)在PHP中使用preg_match来测试字符串的开头或模式?更具体地说,我经常发现自己想要测试我有一个匹配的模式,其前面没有东西,如

preg_match('/[^x]y/', $test)

(也就是说,如果它前面没有x,则匹配y),但如果它出现在$ test的开头(当它也不在x之前,但前面没有任何字符,那么也匹配y,所以[^ x]构造不起作用,因为它总是需要一个字符来匹配它.

在字符串的末尾有一个类似的问题,以确定是否发生了一个没有其他模式的模式.

php regex preg-match

3
推荐指数
1
解决办法
5202
查看次数