相关疑难解决方法(0)

1653
推荐指数
16
解决办法
66万
查看次数

((?:[^ \"])*)和([^ \"]*)之间的正则表达式差异

这个正则表达式之间的区别是可替换的吗?

((?:[^\"])*)


([^\"]*)
Run Code Online (Sandbox Code Playgroud)

这个问题的背景:

javascript WYSIWYG编辑器(tinymce)无法在Firefox(23.0.1和25.0a2)中解析我的html代码,但在Chrome中工作.

我发现正则表达式应该归咎于:

attrRegExp = /([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g;
Run Code Online (Sandbox Code Playgroud)

我修改了,替换

((?:[^\"])*) 
Run Code Online (Sandbox Code Playgroud)

([^\"]*)
Run Code Online (Sandbox Code Playgroud)

((?:[^\'])*) 
Run Code Online (Sandbox Code Playgroud)

([^\']*)
Run Code Online (Sandbox Code Playgroud)

生成的正则表达式在我的测试用例的两个浏览器中都有效

attrRegExp = /([\w:\-]+)(?:\s*=\s*(?:(?:\"([^\"]*)\")|(?:\'([^\']*)\')|([^>\s]+)))?/g
Run Code Online (Sandbox Code Playgroud)

谁可以对此有所了解?

我的测试数据仅适用于修改过的正则表达式,是一个大图像> 700 kb,如:

var testdata = '<img alt="" src="data:image/jpeg;base64,/9j/4AAQSkZJRgA...5PmDk4FOGOHy6S3JW120W1uCJ5M0PBa54edOFAc8ePX/2Q==">'
Run Code Online (Sandbox Code Playgroud)

做类似的测试:

testdata.match(attrRegExp);
Run Code Online (Sandbox Code Playgroud)

特别是当测试数据很大时,未经修改的正则表达式很可能在firefox中失败.

你可以在这里找到jsfiddle示例:

javascript regex

6
推荐指数
1
解决办法
280
查看次数

为什么捕获组导致双匹配正则表达式

考虑这两个脚本:

第一名: " ".match(/(\s)/)

第二: " ".match(/\s/)

结果

第一名: [" "," "]

第二: [" "]

我不明白这种行为.据我所知,捕获组/ paranthesis的目的是要在后面的regex中再次引用一段匹配.但显然并非全部.或者此特定于匹配拆分方法的行为.

javascript regex

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

用javascript和regex在昏迷前弄清楚这个词吗?

大家好,我试图在句子中保持昏迷之前出现这个词。

例如,如果字符串是:

"Cloudy, and 51 ° F "
Run Code Online (Sandbox Code Playgroud)

我想要输出CLOUDY。

如何在regex和javascript中完成?我知道您必须在javascript中使用.match命令。谢谢,希望能提供任何帮助。

javascript regex string words input

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

在javascript中展平json数据结构

我有一个json响应来自一个有点痛苦的服务.我怎样才能将这个结构扁平化,以便 "not_restricted":{"doc_count": 976465}改为"not_restricted":976465?我会使用一个函数来检测所有类型的json文档中的这种结构并修改结果.

这是json的一般结构:

{
    "took": 159,
    "timed_out": false,
    "_shards": {
        "total": 6,
        "successful": 6,
        "failed": 0
    },
    "hits": {
        "total": 4909332,
        "max_score": 1,
        "hits": [
            {
                ...
            },
            {
                ...
            },
            {
                ...
            }
        ]
    },
    "aggregations": {
        "index_types": {
            "doc_count_error_upper_bound": 0,
            "sum_other_doc_count": 0,
            "buckets": [
                {
                    "key": "client",
                    "doc_count": 1958205,
                    "not_restricted": {
                        "doc_count": 976465
                    },
                    "restricted": {
                        "doc_count": 981740
                    }
                },
                {
                    "key": "ultimateparent",
                    "doc_count": 1616164,
                    "not_restricted": {
                        "doc_count": 741059
                    },
                    "restricted": {
                        "doc_count": 875105 …
Run Code Online (Sandbox Code Playgroud)

javascript

-1
推荐指数
1
解决办法
945
查看次数

标签 统计

javascript ×4

regex ×4

capturing-group ×1

input ×1

regex-group ×1

string ×1

words ×1