javascript - 在 JavaScript 中通过正则表达式查找字符串

标签 javascript ajax regex

我从 ajax GET 请求收到以下响应(使用 $.Ajax)

<div class="clienthoverpage_content">
    <div class="school_info" id="lesson_51123">
        <div class="_desc_content" id="lesson_content">
            <div class="_desc_icon">
            </div>
            <div class="_desc_description">
                <h1 class="hover_name" id="lesson_name"></h1>
                <div class="fraud_warning" id="lesson_fraud_warnings"></div>
                <div class="_desc_class_info" id="lesson_class_info">
                    <div id="lesson_class_name" class="ellipsis"></div>
                    <div id="lesson_type" class=""></div>
                </div>
                <div class="_desc_descriptors" id="lesson_descriptors">
                </div>
                                                    </div>
        </div>
    </div>
</div>
<script type="text/javascript">

    fnInitDisplay = function() {
        UserYou.LoadContexts( g_rgAppContextData );
        BuildHover( 'lesson_51123',  {"id":"123441","class":"51112","student":"506854340"} );
        $('lesson_51123').show();
    }

</script>

我感兴趣的线路是

BuildHover( 'lesson_51123', {"id":"123441","class":"51112","student":"506854340"} );

我想获取idclassstudent的值。 我假设最好的方法是使用正则表达式,但我找不到正确的正则表达式。

最佳答案

我不太擅长正则表达式,所以我会给你我的例子,我只使用indexOf和substring方法。 JS-FIDDLE

var str = 'UserYou.LoadContexts( g_rgAppContextData );'+
'BuildHover( "lesson_51123",  {"id":"123441","class":"51112","student":"506854340"} );'+
    '$("lesson_51123").show();';

var _id = '"id":"';
var _class = '","class":"';
var _student = '","student":"';

var classIndex = str.indexOf(_class);
var idIndex = str.indexOf(_id);
var studentIndex = str.indexOf(_student);
var endStr = str.indexOf('"}');

var resultID = str.substr(idIndex + _id.length, classIndex - (idIndex + _id.length) );
var resultClass = str.substr(classIndex + _class.length, studentIndex - (classIndex + _class.length));
var resultStudent = str.substr(studentIndex + _student.length, str.length-2 - (studentIndex + _student.length));

关于javascript - 在 JavaScript 中通过正则表达式查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33715657/

相关文章:

javascript - 如何在函数工作依赖于 thor td 时更改以前的 td 样式

javascript - 跟踪代码管理器无法识别 Google 跟踪代码管理器数据层

javascript - 异步 promise 不返回结果

regex - Scala 正则表达式命名捕获组

regex - 如何使正则表达式对多个值唯一

java - 匹配多语言数字的正则表达式不检测中文数字

javascript - AngularJS - 多级复选框问题

ajax - HttpPost上的ASP MVC3 HandleError

javascript - 在下一次 ajax 调用之前等待 ajax 完成

php - 使用 PHPExcel 和 AJAX 制作 Excel 文件