相关疑难解决方法(0)

删除所有以某个字符串开头的类

我有一个div id="a",可以从几个组中附加任意数量的类.每个组都有一个特定的前缀.在javascript中,我不知道该组中的哪个类在div上.我希望能够清除具有给定前缀的所有类,然后添加一个新类.如果我想删除所有以"bg"开头的类,我该怎么做?像这样的东西,但实际上有效:

$("#a").removeClass("bg*");
Run Code Online (Sandbox Code Playgroud)

javascript css jquery

97
推荐指数
6
解决办法
10万
查看次数

在正则表达式替换中是否存在类似计数器变量的东西?

如果我有很多匹配,例如在多行模式下,我想用匹配的一部分替换它们以及增量的计数器号.

我想知道任何正则表达式的味道是否有这样的变量.我找不到一个,但我似乎记得那样存在......

我不是在谈论可以使用回调替换的脚本语言.这是关于能够在RegexBuddy,sublime text,gskinner.com/RegExr等工具中实现这一点,就像你可以用\ 1或$ 1引用捕获的子串一样.

regex language-agnostic

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

正则表达式匹配除给定列表之外的所有单词

我正在尝试编写一个替换正则表达式来包围引号中的所有单词,但单词AND,OR和NOT除外.

我已经尝试了以下表达式的匹配部分:

(?i)(?<word>[a-z0-9]+)(?<!and|not|or)
Run Code Online (Sandbox Code Playgroud)

(?i)(?<word>[a-z0-9]+)(?!and|not|or)
Run Code Online (Sandbox Code Playgroud)

但都没有工作.替换表达式很简单,目前包含所有单词.

"${word}"
Run Code Online (Sandbox Code Playgroud)

所以

这和这不是那个

"这个"和"这个"不是"那个"

.net c# regex

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

使用正则表达式从URL中提取顶级域和二级域

如何使用正则表达式从URL中仅提取顶级域名和二级域名?我想跳过所有较低级别的域名.有任何想法吗?

regex dns url

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

如何理解正则表达式'\ b'?

我正在学习正则表达式.但我无法理解'\ b',匹配单词边界.有三种情况,像这样:

  1. 在字符串中的第一个字符之前,如果第一个字符是单词字符.
  2. 在字符串中的最后一个字符之后,如果最后一个字符是单词字符.
  3. 在字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符.

我无法理解第三种情况.例如:

var reg = /end\bend/g;
var string = 'wenkend,end,end,endend';
alert( reg.test(string) ) ; //false
Run Code Online (Sandbox Code Playgroud)

'\ b'的一侧需要'\ w'字符,另一侧不需要'\ w'字符.字符串'end,end'应该匹配规则,在第一个字符是字符串','之后,在最后一个字符是字符串','之前,为什么结果是错误.请你帮忙,在此先感谢!

============分界线=============

在你的帮助下,我明白了.'end,end'匹配第一个'end'并且有一个边界,但是下一个字符是','而不是'e',所以'/ end\bend'是假的.

换句话说,reg'/ end\bend/g'或其他类似的reg不会永远退出.再次感谢

javascript regex string

7
推荐指数
1
解决办法
3060
查看次数

string.IndexOf搜索整个单词匹配

我正在寻找一种方法来搜索字符串以获得完全匹配或完整的单词匹配. RegEx.Match并且RegEx.IsMatch似乎没有让我在哪里,我想.
请考虑以下情形:

namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "SUBTOTAL 34.37 TAX TOTAL 37.43";
            int indx = str.IndexOf("TOTAL");
            string amount = str.Substring(indx + "TOTAL".Length, 10);
            string strAmount = Regex.Replace(amount, "[^.0-9]", "");

            Console.WriteLine(strAmount);
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面代码的输出是:

// 34.37
// Press any key to continue...
Run Code Online (Sandbox Code Playgroud)

问题是,我不想SUBTOTAL的,但IndexOf发现这个词第一次出现TOTAL是在SUBTOTAL然后得到34.37的不正确的值.

所以问题是,有没有办法强制IndexOf只找到一个完全匹配或是否有另一种方法来强制完全匹配的单词,以便我可以找到该完全匹配的索引,然后用它执行一些有用的功能.RegEx.IsMatch并且RegEx.Match是,据我所知道的,只是boolean搜索.在这种情况下,仅知道存在完全匹配是不够的.我需要知道它在字符串中的位置.

任何意见,将不胜感激.

c# regex string substring indexof

6
推荐指数
2
解决办法
6387
查看次数

如何只使用由大写字符组成的单词

我有问题写grep,只应该grep那些行,其中只有大写字符组成的单词.

例如,我有文件:file1.txt

Abc AAA
ADFSD
F
AAAAx
Run Code Online (Sandbox Code Playgroud)

输出应该是:

Abc AAA
ADFSD
F
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议.

regex grep

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

连字符/破折号包含在正则表达式单词边界 \b 中

简单的说:

echo "xxxxx Tyyy zzzzz" | egrep "\byyy\b" 
Run Code Online (Sandbox Code Playgroud)

(没有匹配正确的)

echo "xxxxx T-yyy zzzzz" | egrep "\byyy\b" 
xxxxx T-yyy zzzzz
Run Code Online (Sandbox Code Playgroud)

我不希望它像第二个表达式中那样匹配,请告诉我如何实现这一点,谢谢。

regex grep word-boundary character-class

5
推荐指数
1
解决办法
1947
查看次数

正则表达式的部分匹配

在NFA中,很容易使所有先前非最终状态接受使其匹配给定语言的所有子串的语言.

在Java regex引擎中,有没有办法找出字符串是否是与给定正则表达式匹配的字符串的起始子字符串?

regexX ="任何开始",regexA - 任何给定的正则表达式

"regexXregexA"结果表达式匹配匹配"regexA"的所有子字符串:

例:

regexA = a*b
Run Code Online (Sandbox Code Playgroud)

"a"匹配

"regexXa*b"
Run Code Online (Sandbox Code Playgroud)

因为它是"ab"(和"aab")
编辑的开头:

由于有些人仍然不理解,这里是这个问题的程序测试:

import java.util.regex.*;
public class Test1 {
    public static void main(String args[]){
       String regex = "a*b";
       System.out.println(
       partialMatch(regex, "aaa");
       );
     }
public boolean partialMatch(String regex, String begining){
//return true if there is a string which matches the regex and    
//startsWith(but not equal) begining, false otherwise 
}
}
Run Code Online (Sandbox Code Playgroud)

结果是真的.

java regex

5
推荐指数
1
解决办法
1941
查看次数

如果字符串与列表中的字符串匹配,我如何从句子中删除字符串

我有一个pandas.Series像这样的句子:

0    mi sobrino carlos bajó conmigo el lunes       
1    juan antonio es un tio guay                   
2    voy al cine con ramón                         
3    pepe el panadero siempre se porta bien conmigo
4    martha me hace feliz todos los días 
Run Code Online (Sandbox Code Playgroud)

另一方面,我有一个像这样的名字和姓氏列表:

l = ['juan', 'antonio', 'esther', 'josefa', 'mariano', 'cristina', 'carlos']

我想将系列中的句子与列表中的名称相匹配。实际数据比这个例子大得多,所以我认为系列和列表之间的元素比较不会有效,所以我创建了一个包含名称列表中所有字符串的大字符串,如下所示:

'|'.join(l)

我尝试创建一个布尔掩码,稍后允许我通过 true 或 false 值索引包含名称列表中名称的句子,如下所示:

series.apply(lambda x: x in '|'.join(l))
Run Code Online (Sandbox Code Playgroud)

但它返回:

0    False
1    False
2    False
3    False
4    False
Run Code Online (Sandbox Code Playgroud)

这显然不行。

我也尝试使用,str.contains()但它的行为不像我预期的那样,因为此方法将查看名称列表中是否存在系列中的任何子字符串,这不是我需要的(即我需要完全匹配)。

你能在这里指出我正确的方向吗?

非常感谢您提前

python nlp list python-3.x pandas

5
推荐指数
1
解决办法
111
查看次数