这是我的计算器上的第一篇文章,所以请温柔的我...
我仍然在学习正则表达式 - 主要是因为我最终发现,他们可以多么有用,这是部分通过使用文本崇高2,因此,这是Perl的正则表达式(我相信)
我做这和其他网站上进行搜索,但我现在真的卡住。 也许我试图做一些事情,不能做
我想找到一个正则表达式(模式),可以让我找到包含给定的变量或方法调用的函数或方法或过程等。
我已经尝试了许多表情,他们似乎得到的方法的一部分,但不是全部的路。 特别是在Javascript中搜索时,我拿起多个函数声明,而不是呼叫/变量,我找了一个最接近的。
例如:我在寻找一个调用保存数据的方法()的函数我已经了解到,从(S?)这个优秀的网站,我可以用它来切换。 包括换行符
function.*(?=(?s).*?savedata\(\))
然而,这将查找单词功能的第一个实例,然后对所有的文本和包括SAVEDATA()
如果有多个程序,然后将开始下一个功能,并再次重复,直到它到达保存数据()
function(?s).*?savedata\(\) does something similar
我曾尝试要求它使用类似忽略第二功能(我相信):
function(?s).*?(?:(?!function).*?)*savedata\(\)
但是,这并不工作。
我做了一些调查与过去向前看和向后看,但无论我做错了(极有可能),或者他们是不正确的事情。
综上所述(我猜),我怎么往回走,从给定字到不同的字最近的发生。
在我使用这个通过一些JavaScript文件进行搜索,试图了解该结构的那一刻/调用等,但最终我希望能在C#中的文件和一些vb.net文件使用
提前谢谢了
感谢您的迅速反应,遗憾的没有添加的代码示例块 - 这是我现在做的(修改,但仍足以说明问题)
如果我有一个像下面的JavaScript的简单块:
function a_CellClickHandler(gridName, cellId, button){
var stuffhappenshere;
var and here;
if(something or other){
if (anothertest) {
event.returnValue=false;
event.cancelBubble=true;
return true;
}
else{
event.returnValue=false;
event.cancelBubble=true;
return true;
}
}
}
function a_DblClickHandler(gridName, cellId){
var userRow = rowfromsomewhere;
var userCell = cellfromsomewhereelse;
//this will need to save the local data before allowing any inserts to ensure that they are inserted in the correct place
if (checkforarangeofthings){
if (differenttest) {
InsSeqNum = insertnumbervalue;
InsRowID = arow.getValue()
blnWasInsert = true;
blnWasDoubleClick = true;
SaveData();
}
}
}
运行针对该正则表达式 - 包括被认定为应该是工作崇高文本2将通过选择一切从第一函数来保存数据的第二个()
我希望能够得到公正的dblClickHandler在这种情况下 - 不能同时使用。
希望此代码段会增加一些透明度和抱歉,我希望一个标准的代码文件就足够了最初没有发布。