Javascript 使用正则表达式获取一个字符串,并在文件中的行首查找一个单词
我需要做的是查找sql脚本文件中每一行开头出现的单词“prompt”。例如,在这些sql脚本中,每行开头都会出现1到多个单词“prompt”。我需要使用正则表达式提取这些“提示”字,但不需要从sql脚本中可能出现的任何地方提取“提示”字。谢谢你的帮助 下面是一个脚本的示例Javascript 使用正则表达式获取一个字符串,并在文件中的行首查找一个单词,javascript,regex,Javascript,Regex,我需要做的是查找sql脚本文件中每一行开头出现的单词“prompt”。例如,在这些sql脚本中,每行开头都会出现1到多个单词“prompt”。我需要使用正则表达式提取这些“提示”字,但不需要从sql脚本中可能出现的任何地方提取“提示”字。谢谢你的帮助 下面是一个脚本的示例 SET SERVEROUTPUT ON FORMAT WORD_WRAPPED CL SCR undef database_service SET trimspool ON set linesize 1000 COLUMN L
SET SERVEROUTPUT ON FORMAT WORD_WRAPPED
CL SCR
undef database_service
SET trimspool ON
set linesize 1000
COLUMN LATEST_PROCESS_DATE NEW_VALUE LATEST_DATE
SELECT to_char(SYSDATE, 'yyyymmddhh24miss') LATEST_PROCESS_DATE FROM dual;
spool ..\log\R_AssetMgmtITDB_EntitlementTestPrompt_Oracle_1.0_&latest_date..lst
prompt
prompt LOGIN TO entitlement(DB => toolit - IT, tooluat - PCU, toolprd - PROD)
prompt
conn entitlement@&&database_service
show user
prompt database_name IS &&database_service
prompt
@schema\DML\insert_amportal_entitlements_entitlementTestPrompt.sql
undef database_service
undef userid
undef response
prompt end of R_AssetMgmtITDB_EntitlementTestPrompt_Oracle_1.0
“\nPompt”也可以使用。您可以在多行模式下或通过在新行上拆分字符串来使用正则表达式
/^prompt\b/i
:
拆分字符串可以得到单词出现的行号:
var string=“设置服务器输出格式为WORD\u WRAPPED\nCL SCR\nundef database\u service\n设置Trimpool\n设置行大小1000\n列最新\u进程\u日期最新\u值最新\u日期\n选择字符(SYSDATE,'yyyymmddhh24miss')最新进程\u日期自双;\n工具..\log\R\u AssetMgmtITDB\u权限测试提示\u Oracle\u 1.0\uu最新日期..lst\npropt\n compt登录到权限(DB=>toolit-IT,toolouat-PCU,toolprd-PROD)\nprompt\n权限@&&database\u服务\n显示用户\nprompt database\u名称是&&database\u服务\nprompt\n@schema\DML\insert_amportal_authorities_authorithmentTestPrompt.sql\nundef database_service\nundef userid\nundef response\n R_AssetMgmtITDB_authorithmentTestPrompt_Oracle_1.0“;
变量回答=
string.split(“\n”)
.map(函数(v,i){return{lineNumber:i,value:v};})
.filter(函数(v){return/^prompt\b/i.test(v.value);});
document.getElementById(“out”).innerHTML=JSON.stringify(答案)代码>
^prompt\b
,请在询问之前进行搜索。关于提示,以及区分大小写如何?最好的方法是使用多行模式。在此模式下,^
锚定表示行的开始,而不是字符串的开始。仍将匹配字符串的开头,因为它认为它只是另一行。这在正则表达式testerExcept中不适用于字符串的开头。