SJS.REGEXMATCH

SJS.REGEXMATCH 함수는 텍스트 일부가 지정한 정규식과 일치하는지 확인할 수 있습니다.

구문 인수 설명 text (필수) regular_expression과 비교하여 테스트될 텍스트입니다."텍스트"와 같은 문자열, "C4"와 같은 셀 참조 또는 "C4: D4"와 같은 셀 범위 참조를 입력할 수 있습니다(동적 배열에서 작동) regular_expression (필수) 비교하여 텍스트를 테스트하는 정규 표현식입니다."[0-9]+"와 같은 문자열이나 "C4"와 같은 셀 참조를 입력할 수 있습니다. modifiers 패턴을 정의하는 수정자입니다. "gi"와 같은 문자열이나 "C4"와 같은 셀 참조를 입력할 수 있습니다. 수정자 수정자 이름 설명 g global 마지막 일치 항목의 인덱스를 유지하여 후속 검색이 이전 일치 항목의 마지막에서 시작되도록 합니다.global 플래그가 없다면 후속 검색에서는 동일한 일치 항목이 반환됩니다. i ignore case 전체 표현식의 대소문자를 구분하지 않도록 합니다.예를 들어, /aBc/i는 AbC와 일치합니다. m multiline multiline 플래그가 활성화되면, 처음과 마지막 앵커(^ 및 \$)는 전체 문자열의 시작과 끝이 아닌 한 줄의 시작과 끝과 일치하게 됩니다./^[\s\S]+$/m과 같은 패턴은 앵커가 라인의 시작/끝과 일치하므로 여러 줄에 걸쳐 일치하는 항목을 반환할 수 있습니다. u unicode unicode 플래그가 활성화되면 \x{FFFFF} 형식의 확장 유니코드 이스케이프를 사용할 수 있습니다.또한 다른 이스케이프를 더욱 엄격하게 만들어 인식되지 않는 이스케이프(예: \j)는 오류를 발생시킵니다. y sticky 표현식은 마지막 인덱스 위치에서만 일치하며 설정된 경우 global(g) 플래그를 무시합니다. RegExr의 각 검색은 별개이므로, 이 플래그는 표시된 결과에 더 이상 영향을 미치지 않습니다. s dotAll 점(.)은 줄바꿈을 포함해 모든 문자와 일치합니다. 사용하는 수정자를 브라우저에서 지원하는지 확인해 주십시오. sticky를 사용하면 일관되지 않은 계산 결과를 가져오므로 수정자 "y"는 SJS에서 지원되지 않습니다.수정자 "y"가 설정되면 이는 계산에서 무시됩니다. 샘플
window.onload = function () { var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss")); initSpread(spread); }; function initSpread(spread) { spread.suspendPaint(); spread.options.highlightInvalidData = true; var sheet = spread.sheets[0]; var defaultStyle = new GC.Spread.Sheets.Style(); defaultStyle.hAlign = GC.Spread.Sheets.HorizontalAlign.center; defaultStyle.vAlign = GC.Spread.Sheets.VerticalAlign.center; sheet.setDefaultStyle(defaultStyle); sheet.setColumnWidth(0, 250); sheet.setColumnWidth(1, 250); sheet.setColumnWidth(2, 150); sheet.setColumnWidth(3, 250); sheet.setColumnWidth(4, 150); sheet.addSpan(0, 0, 2, 5); sheet.getCell(0, 0).value("Conditional Format").font("21px bold normal normal"); initRange(sheet, 2); var EQUAL_TO = GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.equalsTo; var CONDITION_RANGE = [new GC.Spread.Sheets.Range(4, 4, 4, 1)]; var true_style = new GC.Spread.Sheets.Style(); true_style.backColor = 'lightgreen'; sheet.conditionalFormats.addCellValueRule(EQUAL_TO, true, undefined, true_style, CONDITION_RANGE); var false_style = new GC.Spread.Sheets.Style(); false_style.backColor = 'pink'; sheet.conditionalFormats.addCellValueRule(EQUAL_TO, false, undefined, false_style, CONDITION_RANGE); sheet.addSpan(8, 0, 2, 5); sheet.getCell(8, 0).value("Data Validation").font("21px bold normal normal"); initRange(sheet, 10); createDataValidations(sheet, 12); createDataValidations(sheet, 13); createDataValidations(sheet, 14); spread.resumePaint(); } function initRange(sheet, baseRow) { sheet.addSpan(baseRow, 0, 2, 1); sheet.addSpan(baseRow, 1, 2, 1); sheet.addSpan(baseRow, 2, 2, 1); sheet.addSpan(baseRow, 3, 2, 1); sheet.addSpan(baseRow, 4, 2, 1); sheet.getCell(baseRow, 0).value("Text").font("21px bold normal normal"); sheet.getCell(baseRow, 1).value("Regular Expression").font("21px bold normal normal"); sheet.getCell(baseRow, 2).value("Modifiers").font("21px bold normal normal"); sheet.getCell(baseRow, 3).value("Formula Text").font("21px bold normal normal"); sheet.getCell(baseRow, 4).value("Result").font("21px bold normal normal"); var dataArr = [["SpreadJS Supports 400 functions.", "\\d+", ""], ["My Name is (John Smith)", "\\(([\\w ]+)\\)", ""], ["Red", "[^red]", "i"]]; sheet.setArray(2 + baseRow, 0, dataArr); for (var i = baseRow, len = dataArr.length; i < len + baseRow; i++) { var row = 3 + i; sheet.setFormula(row - 1, 4, `=SJS.REGEXMATCH(A${row}, B${row}, C${row})`); sheet.setFormula(row - 1, 3, `=FORMULATEXT(E${row})`); } } function createDataValidations (sheet, row) { var false_dv = GC.Spread.Sheets.DataValidation.createFormulaValidator("IF(E" + (row + 1) + ",TRUE,FALSE)"); false_dv.highlightStyle({type: GC.Spread.Sheets.DataValidation.HighlightType.dogEar, color: "pink", position: GC.Spread.Sheets.DataValidation.HighlightPosition.topLeft}); sheet.setDataValidator(row, 4, 1, 1, false_dv, 3); }
<!doctype html> <html style="height:100%;font-size:14px;"> <head> <meta name="spreadjs culture" content="ko-kr"/> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" type="text/css" href="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets/styles/gc.spread.sheets.excel2013white.css"> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets/dist/gc.spread.sheets.all.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/ko/purejs/node_modules/@mescius/spread-sheets-resources-ko/dist/gc.spread.sheets.resources.ko.min.js" type="text/javascript"></script> <script src="$DEMOROOT$/spread/source/js/license.js" type="text/javascript"></script> <script src="app.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="styles.css"> </head> <body> <div class="sample-tutorial"> <div id="ss" class="sample-spreadsheets"></div> </div> </body> </html>
input[type="text"] { width: 200px; margin-right: 20px; } label { display: inline-block; width: 110px; } .sample-tutorial { position: relative; height: 100%; overflow: hidden; } .sample-spreadsheets { width: 100%; height: 100%; overflow: hidden; float: left; } label { display: block; margin-bottom: 6px; } input { padding: 4px 6px; } input[type=button] { margin-top: 6px; display: block; width:216px; } body { position: absolute; top: 0; bottom: 0; left: 0; right: 0; } code { border: 1px solid #000; }