diff --git a/index.html b/index.html index af8ce36..f4c5b8e 100644 --- a/index.html +++ b/index.html @@ -37,8 +37,9 @@ :host a:hover .octo-arm { animation: none; } :host .octo-arm { animation: octocat-wave 560ms ease-in-out; } } +:host svg { z-index: 99; position: fixed; border: 0px; top: 0px; } - + @@ -57,7 +58,7 @@ this.update(); } static get observedAttributes() { - return ['z-index', 'target', 'height', 'width', 'href', 'color', 'fill', 'position', 'top', 'left', 'right', 'bottom', 'transform']; + return ['style', 'z-index', 'target', 'height', 'width', 'href', 'color', 'fill', 'position', 'top', 'left', 'right', 'bottom', 'transform']; } setAttr(name, value) { const svg = this.shadow.querySelector('svg'); @@ -67,7 +68,7 @@ else if (/(color|fill)/.test(name.toLocaleLowerCase())) { svg.firstElementChild.style[name] = value; } - else if (/(z-index|height|width|position|top|left|right|bottom|transform)/.test(name.toLocaleLowerCase())) { + else if (/(z-index|position|top|left|right|bottom|transform)/.test(name.toLocaleLowerCase())) { svg.style[name] = value; } else { @@ -123,19 +124,17 @@ -webkit-mask-image: url("data:image/svg+xml,"); mask-image: url("data:image/svg+xml,"); } -markdown-style[theme*='light'] { --color-prettylights-syntax-comment: #6e7781; --color-prettylights-syntax-constant: #0550ae; --color-prettylights-syntax-entity: #8250df; --color-prettylights-syntax-storage-modifier-import: #24292f; --color-prettylights-syntax-entity-tag: #116329; --color-prettylights-syntax-keyword: #cf222e; --color-prettylights-syntax-string: #0a3069; --color-prettylights-syntax-variable: #953800; --color-prettylights-syntax-brackethighlighter-unmatched: #82071e; --color-prettylights-syntax-invalid-illegal-text: #f6f8fa; --color-prettylights-syntax-invalid-illegal-bg: #82071e; --color-prettylights-syntax-carriage-return-text: #f6f8fa; --color-prettylights-syntax-carriage-return-bg: #cf222e; --color-prettylights-syntax-string-regexp: #116329; --color-prettylights-syntax-markup-list: #3b2300; --color-prettylights-syntax-markup-heading: #0550ae; --color-prettylights-syntax-markup-italic: #24292f; --color-prettylights-syntax-markup-bold: #24292f; --color-prettylights-syntax-markup-deleted-text: #82071e; --color-prettylights-syntax-markup-deleted-bg: #FFEBE9; --color-prettylights-syntax-markup-inserted-text: #116329; --color-prettylights-syntax-markup-inserted-bg: #dafbe1; --color-prettylights-syntax-markup-changed-text: #953800; --color-prettylights-syntax-markup-changed-bg: #ffd8b5; --color-prettylights-syntax-markup-ignored-text: #eaeef2; --color-prettylights-syntax-markup-ignored-bg: #0550ae; --color-prettylights-syntax-meta-diff-range: #8250df; --color-prettylights-syntax-brackethighlighter-angle: #57606a; --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f; --color-prettylights-syntax-constant-other-reference-link: #0a3069; --color-fg-default: #24292f; --color-fg-muted: #57606a; --color-fg-subtle: #6e7781; --color-canvas-default: #ffffff; --color-canvas-subtle: #f6f8fa; --color-border-default: #d0d7de; --color-border-muted: hsla(210,18%,87%,1); --color-neutral-muted: rgba(175,184,193,0.2); --color-accent-fg: #0969da; --color-accent-emphasis: #0969da; --color-attention-subtle: #fff8c5; --color-danger-fg: #cf222e; } markdown-style[theme*='dark'] { --color-prettylights-syntax-comment: #8b949e; --color-prettylights-syntax-constant: #79c0ff; --color-prettylights-syntax-entity: #d2a8ff; --color-prettylights-syntax-storage-modifier-import: #c9d1d9; --color-prettylights-syntax-entity-tag: #7ee787; --color-prettylights-syntax-keyword: #ff7b72; --color-prettylights-syntax-string: #a5d6ff; --color-prettylights-syntax-variable: #ffa657; --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; --color-prettylights-syntax-invalid-illegal-bg: #8e1519; --color-prettylights-syntax-carriage-return-text: #f0f6fc; --color-prettylights-syntax-carriage-return-bg: #b62324; --color-prettylights-syntax-string-regexp: #7ee787; --color-prettylights-syntax-markup-list: #f2cc60; --color-prettylights-syntax-markup-heading: #1f6feb; --color-prettylights-syntax-markup-italic: #c9d1d9; --color-prettylights-syntax-markup-bold: #c9d1d9; --color-prettylights-syntax-markup-deleted-text: #ffdcd7; --color-prettylights-syntax-markup-deleted-bg: #67060c; --color-prettylights-syntax-markup-inserted-text: #aff5b4; --color-prettylights-syntax-markup-inserted-bg: #033a16; --color-prettylights-syntax-markup-changed-text: #ffdfb6; --color-prettylights-syntax-markup-changed-bg: #5a1e02; --color-prettylights-syntax-markup-ignored-text: #c9d1d9; --color-prettylights-syntax-markup-ignored-bg: #1158c7; --color-prettylights-syntax-meta-diff-range: #d2a8ff; --color-prettylights-syntax-brackethighlighter-angle: #8b949e; --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; --color-fg-default: #c9d1d9; --color-fg-muted: #8b949e; --color-fg-subtle: #484f58; --color-canvas-default: #0d1117; --color-canvas-subtle: #161b22; --color-border-default: #30363d; --color-border-muted: #21262d; --color-neutral-muted: rgba(110,118,129,0.4); --color-accent-fg: #58a6ff; --color-accent-emphasis: #1f6feb; --color-attention-subtle: rgba(187,128,9,0.15); --color-danger-fg: #f85149; } markdown-style { display: block; -webkit-text-size-adjust: 100%; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; color: var(--color-fg-default); background-color: var(--color-canvas-default); } markdown-style details, markdown-style figcaption, markdown-style figure { display: block; } markdown-style summary { display: list-item; } markdown-style [hidden] { display: none !important; } markdown-style a { background-color: transparent; color: var(--color-accent-fg); text-decoration: none; } markdown-style a:active, markdown-style a:hover { outline-width: 0; } markdown-style abbr[title] { border-bottom: none; text-decoration: underline dotted; } markdown-style b, markdown-style strong { font-weight: 600; } markdown-style dfn { font-style: italic; } markdown-style h1 { margin: .67em 0; font-weight: 600; padding-bottom: .3em; font-size: 2em; border-bottom: 1px solid var(--color-border-muted); } markdown-style mark { background-color: var(--color-attention-subtle); color: var(--color-text-primary); } markdown-style small { font-size: 90%; } markdown-style sub, markdown-style sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } markdown-style sub { bottom: -0.25em; } markdown-style sup { top: -0.5em; } markdown-style img { border-style: none; max-width: 100%; box-sizing: content-box; background-color: var(--color-canvas-default); } markdown-style code, markdown-style kbd, markdown-style pre, markdown-style samp { font-family: monospace,monospace; font-size: 1em; } markdown-style figure { margin: 1em 40px; } markdown-style hr { box-sizing: content-box; overflow: hidden; background: transparent; border-bottom: 1px solid var(--color-border-muted); height: .25em; padding: 0; margin: 24px 0; background-color: var(--color-border-default); border: 0; } markdown-style input { font: inherit; margin: 0; overflow: visible; font-family: inherit; font-size: inherit; line-height: inherit; } markdown-style [type=button], markdown-style [type=reset], markdown-style [type=submit] { -webkit-appearance: button; } markdown-style [type=button]::-moz-focus-inner, markdown-style [type=reset]::-moz-focus-inner, markdown-style [type=submit]::-moz-focus-inner { border-style: none; padding: 0; } markdown-style [type=button]:-moz-focusring, markdown-style [type=reset]:-moz-focusring, markdown-style [type=submit]:-moz-focusring { outline: 1px dotted ButtonText; } markdown-style [type=checkbox], markdown-style [type=radio] { box-sizing: border-box; padding: 0; } markdown-style [type=number]::-webkit-inner-spin-button, markdown-style [type=number]::-webkit-outer-spin-button { height: auto; } markdown-style [type=search] { -webkit-appearance: textfield; outline-offset: -2px; } markdown-style [type=search]::-webkit-search-cancel-button, markdown-style [type=search]::-webkit-search-decoration { -webkit-appearance: none; } markdown-style ::-webkit-input-placeholder { color: inherit; opacity: .54; } markdown-style ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; } markdown-style a:hover { text-decoration: underline; } markdown-style hr::before { display: table; content: ""; } markdown-style hr::after { display: table; clear: both; content: ""; } markdown-style table { border-spacing: 0; border-collapse: collapse; display: block; width: max-content; max-width: 100%; overflow: auto; } markdown-style td, markdown-style th { padding: 0; } markdown-style details summary { cursor: pointer; } markdown-style details:not([open])>*:not(summary) { display: none !important; } markdown-style kbd { display: inline-block; padding: 3px 5px; font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; line-height: 10px; color: var(--color-fg-default); vertical-align: middle; background-color: var(--color-canvas-subtle); border: solid 1px var(--color-neutral-muted); border-bottom-color: var(--color-neutral-muted); border-radius: 6px; box-shadow: inset 0 -1px 0 var(--color-neutral-muted); } markdown-style h1, markdown-style h2, markdown-style h3, markdown-style h4, markdown-style h5, markdown-style h6 { margin-top: 24px; margin-bottom: 16px; font-weight: 600; line-height: 1.25; } markdown-style h2 { font-weight: 600; padding-bottom: .3em; font-size: 1.5em; border-bottom: 1px solid var(--color-border-muted); } markdown-style h3 { font-weight: 600; font-size: 1.25em; } markdown-style h4 { font-weight: 600; font-size: 1em; } markdown-style h5 { font-weight: 600; font-size: .875em; } markdown-style h6 { font-weight: 600; font-size: .85em; color: var(--color-fg-muted); } markdown-style p { margin-top: 0; margin-bottom: 10px; } markdown-style blockquote { margin: 0; padding: 0 1em; color: var(--color-fg-muted); border-left: .25em solid var(--color-border-default); } markdown-style ul, markdown-style ol { margin-top: 0; margin-bottom: 0; padding-left: 2em; } markdown-style ol ol, markdown-style ul ol { list-style-type: lower-roman; } markdown-style ul ul ol, markdown-style ul ol ol, markdown-style ol ul ol, markdown-style ol ol ol { list-style-type: lower-alpha; } markdown-style dd { margin-left: 0; } markdown-style tt, markdown-style code { font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; font-size: 12px; } markdown-style pre { margin-top: 0; margin-bottom: 0; font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; font-size: 12px; word-wrap: normal; } markdown-style .octicon { display: inline-block; overflow: visible !important; vertical-align: text-bottom; fill: currentColor; } markdown-style ::placeholder { color: var(--color-fg-subtle); opacity: 1; } markdown-style input::-webkit-outer-spin-button, markdown-style input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; appearance: none; } -markdown-style .token.comment, markdown-style .token.prolog, markdown-style .token.doctype, markdown-style .token.cdata { color: var(--color-prettylights-syntax-comment); } markdown-style .token.namespace { opacity: 0.7; } markdown-style .token.tag, markdown-style .token.selector, markdown-style .token.constant, markdown-style .token.symbol, markdown-style .token.deleted { color: var(--color-prettylights-syntax-entity-tag); } markdown-style .token.maybe-class-name { color: var(--color-prettylights-syntax-variable); } markdown-style .token.property-access, markdown-style .token.operator, markdown-style .token.boolean, markdown-style .token.number, markdown-style .token.selector markdown-style .token.class, markdown-style .token.attr-name, markdown-style .token.string, markdown-style .token.char, markdown-style .token.builtin { color: var(--color-prettylights-syntax-constant); } markdown-style .token.deleted { color: var(--color-prettylights-syntax-markup-deleted-text); } markdown-style .token.property { color: var(--color-prettylights-syntax-constant); } markdown-style .token.punctuation { color: var(--color-prettylights-syntax-markup-bold); } markdown-style .token.function { color: var(--color-prettylights-syntax-entity); } markdown-style .code-line .token.deleted { background-color: var(--color-prettylights-syntax-markup-deleted-bg); } markdown-style .token.inserted { color: var(--color-prettylights-syntax-markup-inserted-text); } markdown-style .code-line .token.inserted { background-color: var(--color-prettylights-syntax-markup-inserted-bg); } markdown-style .token.variable { color: var(--color-prettylights-syntax-constant); } markdown-style .token.entity, markdown-style .token.url, .language-css markdown-style .token.string, .style markdown-style .token.string { color: var(--color-prettylights-syntax-string); } markdown-style .token.color, markdown-style .token.atrule, markdown-style .token.attr-value, markdown-style .token.function, markdown-style .token.class-name { color: var(--color-prettylights-syntax-string); } markdown-style .token.rule, markdown-style .token.regex, markdown-style .token.important, markdown-style .token.keyword { color: var(--color-prettylights-syntax-keyword); } markdown-style .token.coord { color: var(--color-prettylights-syntax-meta-diff-range); } markdown-style .token.important, markdown-style .token.bold { font-weight: bold; } markdown-style .token.italic { font-style: italic; } markdown-style .token.entity { cursor: help; } markdown-style [data-catalyst] { display: block; } -markdown-style g-emoji { font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; font-size: 1em; font-style: normal !important; font-weight: 400; line-height: 1; vertical-align: -0.075em; } markdown-style g-emoji img { width: 1em; height: 1em; } markdown-style::before { display: table; content: ""; } markdown-style::after { display: table; clear: both; content: ""; } markdown-style>*:first-child { margin-top: 0 !important; } markdown-style>*:last-child { margin-bottom: 0 !important; } markdown-style a:not([href]) { color: inherit; text-decoration: none; } markdown-style .absent { color: var(--color-danger-fg); } markdown-style .anchor { float: left; padding-right: 4px; margin-left: -20px; line-height: 1; } markdown-style .anchor:focus { outline: none; } markdown-style p, markdown-style blockquote, markdown-style ul, markdown-style ol, markdown-style dl, markdown-style table, markdown-style pre, markdown-style details { margin-top: 0; margin-bottom: 16px; } markdown-style blockquote>:first-child { margin-top: 0; } markdown-style blockquote>:last-child { margin-bottom: 0; } markdown-style sup>a::before { content: "["; } markdown-style sup>a::after { content: "]"; } markdown-style h1 .octicon-link, markdown-style h2 .octicon-link, markdown-style h3 .octicon-link, markdown-style h4 .octicon-link, markdown-style h5 .octicon-link, markdown-style h6 .octicon-link { color: var(--color-fg-default); vertical-align: middle; visibility: hidden; } markdown-style h1:hover .anchor, markdown-style h2:hover .anchor, markdown-style h3:hover .anchor, markdown-style h4:hover .anchor, markdown-style h5:hover .anchor, markdown-style h6:hover .anchor { text-decoration: none; } markdown-style h1:hover .anchor .octicon-link, markdown-style h2:hover .anchor .octicon-link, markdown-style h3:hover .anchor .octicon-link, markdown-style h4:hover .anchor .octicon-link, markdown-style h5:hover .anchor .octicon-link, markdown-style h6:hover .anchor .octicon-link { visibility: visible; } markdown-style h1 tt, markdown-style h1 code, markdown-style h2 tt, markdown-style h2 code, markdown-style h3 tt, markdown-style h3 code, markdown-style h4 tt, markdown-style h4 code, markdown-style h5 tt, markdown-style h5 code, markdown-style h6 tt, markdown-style h6 code { padding: 0 .2em; font-size: inherit; } markdown-style ul.no-list, markdown-style ol.no-list { padding: 0; list-style-type: none; } markdown-style ol[type="1"] { list-style-type: decimal; } markdown-style ol[type=a] { list-style-type: lower-alpha; } markdown-style ol[type=i] { list-style-type: lower-roman; } markdown-style div>ol:not([type]) { list-style-type: decimal; } markdown-style ul ul, markdown-style ul ol, markdown-style ol ol, markdown-style ol ul { margin-top: 0; margin-bottom: 0; } markdown-style li>p { margin-top: 16px; } markdown-style li+li { margin-top: .25em; } markdown-style dl { padding: 0; } markdown-style dl dt { padding: 0; margin-top: 16px; font-size: 1em; font-style: italic; font-weight: 600; } markdown-style dl dd { padding: 0 16px; margin-bottom: 16px; } markdown-style table th { font-weight: 600; } markdown-style table th, markdown-style table td { padding: 6px 13px; border: 1px solid var(--color-border-default); } markdown-style table tr { background-color: var(--color-canvas-default); border-top: 1px solid var(--color-border-muted); } markdown-style table tr:nth-child(2n) { background-color: var(--color-canvas-subtle); } markdown-style table img { background-color: transparent; } markdown-style img[align=right] { padding-left: 20px; } markdown-style img[align=left] { padding-right: 20px; } markdown-style .emoji { max-width: none; vertical-align: text-top; background-color: transparent; } markdown-style span.frame { display: block; overflow: hidden; } markdown-style span.frame>span { display: block; float: left; width: auto; padding: 7px; margin: 13px 0 0; overflow: hidden; border: 1px solid var(--color-border-default); } markdown-style span.frame span img { display: block; float: left; } markdown-style span.frame span span { display: block; padding: 5px 0 0; clear: both; color: var(--color-fg-default); } markdown-style span.align-center { display: block; overflow: hidden; clear: both; } markdown-style span.align-center>span { display: block; margin: 13px auto 0; overflow: hidden; text-align: center; } markdown-style span.align-center span img { margin: 0 auto; text-align: center; } markdown-style span.align-right { display: block; overflow: hidden; clear: both; } markdown-style span.align-right>span { display: block; margin: 13px 0 0; overflow: hidden; text-align: right; } markdown-style span.align-right span img { margin: 0; text-align: right; } markdown-style span.float-left { display: block; float: left; margin-right: 13px; overflow: hidden; } markdown-style span.float-left span { margin: 13px 0 0; } markdown-style span.float-right { display: block; float: right; margin-left: 13px; overflow: hidden; } markdown-style span.float-right>span { display: block; margin: 13px auto 0; overflow: hidden; text-align: right; } markdown-style code, markdown-style tt { padding: .2em .4em; margin: 0; font-size: 85%; background-color: var(--color-neutral-muted); border-radius: 6px; } markdown-style code br, markdown-style tt br { display: none; } markdown-style del code { text-decoration: inherit; } markdown-style pre code { font-size: 100%; } markdown-style pre>code { padding: 0; margin: 0; word-break: normal; white-space: pre; background: transparent; border: 0; } markdown-style .highlight { margin-bottom: 16px; } markdown-style .highlight pre { margin-bottom: 0; word-break: normal; } markdown-style .highlight pre, markdown-style pre { position: relative; padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: var(--color-canvas-subtle); border-radius: 6px; } markdown-style pre code, markdown-style pre tt { display: inline; max-width: auto; padding: 0; margin: 0; overflow: visible; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0; } markdown-style .csv-data td, markdown-style .csv-data th { padding: 5px; overflow: hidden; font-size: 12px; line-height: 1; text-align: left; white-space: nowrap; } markdown-style .csv-data .blob-num { padding: 10px 8px 9px; text-align: right; background: var(--color-canvas-default); border: 0; } markdown-style .csv-data tr { border-top: 0; } markdown-style .csv-data th { font-weight: 600; background: var(--color-canvas-subtle); border-top: 0; } markdown-style .footnotes { font-size: 12px; color: var(--color-fg-muted); border-top: 1px solid var(--color-border-default); } markdown-style .footnotes ol { padding-left: 16px; } markdown-style .footnotes li { position: relative; } markdown-style .footnotes li:target::before { position: absolute; top: -8px; right: -8px; bottom: -8px; left: -24px; pointer-events: none; content: ""; border: 2px solid var(--color-accent-emphasis); border-radius: 6px; } markdown-style .footnotes li:target { color: var(--color-fg-default); } markdown-style .footnotes .data-footnote-backref g-emoji { font-family: monospace; } markdown-style .task-list-item { list-style-type: none; } markdown-style .task-list-item label { font-weight: 400; } markdown-style .task-list-item.enabled label { cursor: pointer; } markdown-style .task-list-item+.task-list-item { margin-top: 3px; } markdown-style .task-list-item .handle { display: none; } markdown-style .task-list-item-checkbox, markdown-style input[type="checkbox"] { margin: 0 .2em .25em -1.6em; vertical-align: middle; } markdown-style .contains-task-list:dir(rtl) .task-list-item-checkbox, markdown-style .contains-task-list:dir(rtl) input[type="checkbox"] { margin: 0 -1.6em .25em .2em; } markdown-style ::-webkit-calendar-picker-indicator { filter: invert(50%); } +[data-color-mode*='light'], [data-color-mode*='light'] body, markdown-style[theme*='light'] { --color-prettylights-syntax-comment: #6e7781; --color-prettylights-syntax-constant: #0550ae; --color-prettylights-syntax-entity: #8250df; --color-prettylights-syntax-storage-modifier-import: #24292f; --color-prettylights-syntax-entity-tag: #116329; --color-prettylights-syntax-keyword: #cf222e; --color-prettylights-syntax-string: #0a3069; --color-prettylights-syntax-variable: #953800; --color-prettylights-syntax-brackethighlighter-unmatched: #82071e; --color-prettylights-syntax-invalid-illegal-text: #f6f8fa; --color-prettylights-syntax-invalid-illegal-bg: #82071e; --color-prettylights-syntax-carriage-return-text: #f6f8fa; --color-prettylights-syntax-carriage-return-bg: #cf222e; --color-prettylights-syntax-string-regexp: #116329; --color-prettylights-syntax-markup-list: #3b2300; --color-prettylights-syntax-markup-heading: #0550ae; --color-prettylights-syntax-markup-italic: #24292f; --color-prettylights-syntax-markup-bold: #24292f; --color-prettylights-syntax-markup-deleted-text: #82071e; --color-prettylights-syntax-markup-deleted-bg: #FFEBE9; --color-prettylights-syntax-markup-inserted-text: #116329; --color-prettylights-syntax-markup-inserted-bg: #dafbe1; --color-prettylights-syntax-markup-changed-text: #953800; --color-prettylights-syntax-markup-changed-bg: #ffd8b5; --color-prettylights-syntax-markup-ignored-text: #eaeef2; --color-prettylights-syntax-markup-ignored-bg: #0550ae; --color-prettylights-syntax-meta-diff-range: #8250df; --color-prettylights-syntax-brackethighlighter-angle: #57606a; --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f; --color-prettylights-syntax-constant-other-reference-link: #0a3069; --color-fg-default: #24292f; --color-fg-muted: #57606a; --color-fg-subtle: #6e7781; --color-canvas-default: #ffffff; --color-canvas-subtle: #f6f8fa; --color-border-default: #d0d7de; --color-border-muted: hsla(210,18%,87%,1); --color-neutral-muted: rgba(175,184,193,0.2); --color-accent-fg: #0969da; --color-accent-emphasis: #0969da; --color-attention-subtle: #fff8c5; --color-danger-fg: #cf222e; } [data-color-mode*='light'], [data-color-mode*='light'] body, markdown-style[theme*='dark'] { --color-prettylights-syntax-comment: #8b949e; --color-prettylights-syntax-constant: #79c0ff; --color-prettylights-syntax-entity: #d2a8ff; --color-prettylights-syntax-storage-modifier-import: #c9d1d9; --color-prettylights-syntax-entity-tag: #7ee787; --color-prettylights-syntax-keyword: #ff7b72; --color-prettylights-syntax-string: #a5d6ff; --color-prettylights-syntax-variable: #ffa657; --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; --color-prettylights-syntax-invalid-illegal-bg: #8e1519; --color-prettylights-syntax-carriage-return-text: #f0f6fc; --color-prettylights-syntax-carriage-return-bg: #b62324; --color-prettylights-syntax-string-regexp: #7ee787; --color-prettylights-syntax-markup-list: #f2cc60; --color-prettylights-syntax-markup-heading: #1f6feb; --color-prettylights-syntax-markup-italic: #c9d1d9; --color-prettylights-syntax-markup-bold: #c9d1d9; --color-prettylights-syntax-markup-deleted-text: #ffdcd7; --color-prettylights-syntax-markup-deleted-bg: #67060c; --color-prettylights-syntax-markup-inserted-text: #aff5b4; --color-prettylights-syntax-markup-inserted-bg: #033a16; --color-prettylights-syntax-markup-changed-text: #ffdfb6; --color-prettylights-syntax-markup-changed-bg: #5a1e02; --color-prettylights-syntax-markup-ignored-text: #c9d1d9; --color-prettylights-syntax-markup-ignored-bg: #1158c7; --color-prettylights-syntax-meta-diff-range: #d2a8ff; --color-prettylights-syntax-brackethighlighter-angle: #8b949e; --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; --color-fg-default: #c9d1d9; --color-fg-muted: #8b949e; --color-fg-subtle: #484f58; --color-canvas-default: #0d1117; --color-canvas-subtle: #161b22; --color-border-default: #30363d; --color-border-muted: #21262d; --color-neutral-muted: rgba(110,118,129,0.4); --color-accent-fg: #58a6ff; --color-accent-emphasis: #1f6feb; --color-attention-subtle: rgba(187,128,9,0.15); --color-danger-fg: #f85149; } markdown-style { display: block; -webkit-text-size-adjust: 100%; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; color: var(--color-fg-default); background-color: var(--color-canvas-default); } markdown-style details, markdown-style figcaption, markdown-style figure { display: block; } markdown-style summary { display: list-item; } markdown-style [hidden] { display: none !important; } markdown-style a { background-color: transparent; color: var(--color-accent-fg); text-decoration: none; } markdown-style a:active, markdown-style a:hover { outline-width: 0; } markdown-style abbr[title] { border-bottom: none; text-decoration: underline dotted; } markdown-style b, markdown-style strong { font-weight: 600; } markdown-style dfn { font-style: italic; } markdown-style h1 { margin: .67em 0; font-weight: 600; padding-bottom: .3em; font-size: 2em; border-bottom: 1px solid var(--color-border-muted); } markdown-style mark { background-color: var(--color-attention-subtle); color: var(--color-text-primary); } markdown-style small { font-size: 90%; } markdown-style sub, markdown-style sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } markdown-style sub { bottom: -0.25em; } markdown-style sup { top: -0.5em; } markdown-style img { border-style: none; max-width: 100%; box-sizing: content-box; background-color: var(--color-canvas-default); } markdown-style code, markdown-style kbd, markdown-style pre, markdown-style samp { font-family: monospace,monospace; font-size: 1em; } markdown-style figure { margin: 1em 40px; } markdown-style hr { box-sizing: content-box; overflow: hidden; background: transparent; border-bottom: 1px solid var(--color-border-muted); height: .25em; padding: 0; margin: 24px 0; background-color: var(--color-border-default); border: 0; } markdown-style input { font: inherit; margin: 0; overflow: visible; font-family: inherit; font-size: inherit; line-height: inherit; } markdown-style [type=button], markdown-style [type=reset], markdown-style [type=submit] { -webkit-appearance: button; } markdown-style [type=button]::-moz-focus-inner, markdown-style [type=reset]::-moz-focus-inner, markdown-style [type=submit]::-moz-focus-inner { border-style: none; padding: 0; } markdown-style [type=button]:-moz-focusring, markdown-style [type=reset]:-moz-focusring, markdown-style [type=submit]:-moz-focusring { outline: 1px dotted ButtonText; } markdown-style [type=checkbox], markdown-style [type=radio] { box-sizing: border-box; padding: 0; } markdown-style [type=number]::-webkit-inner-spin-button, markdown-style [type=number]::-webkit-outer-spin-button { height: auto; } markdown-style [type=search] { -webkit-appearance: textfield; outline-offset: -2px; } markdown-style [type=search]::-webkit-search-cancel-button, markdown-style [type=search]::-webkit-search-decoration { -webkit-appearance: none; } markdown-style ::-webkit-input-placeholder { color: inherit; opacity: .54; } markdown-style ::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; } markdown-style a:hover { text-decoration: underline; } markdown-style hr::before { display: table; content: ""; } markdown-style hr::after { display: table; clear: both; content: ""; } markdown-style table { border-spacing: 0; border-collapse: collapse; display: block; width: max-content; max-width: 100%; overflow: auto; } markdown-style td, markdown-style th { padding: 0; } markdown-style details summary { cursor: pointer; } markdown-style details:not([open])>*:not(summary) { display: none !important; } markdown-style kbd { display: inline-block; padding: 3px 5px; font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; line-height: 10px; color: var(--color-fg-default); vertical-align: middle; background-color: var(--color-canvas-subtle); border: solid 1px var(--color-neutral-muted); border-bottom-color: var(--color-neutral-muted); border-radius: 6px; box-shadow: inset 0 -1px 0 var(--color-neutral-muted); } markdown-style h1, markdown-style h2, markdown-style h3, markdown-style h4, markdown-style h5, markdown-style h6 { margin-top: 24px; margin-bottom: 16px; font-weight: 600; line-height: 1.25; } markdown-style h2 { font-weight: 600; padding-bottom: .3em; font-size: 1.5em; border-bottom: 1px solid var(--color-border-muted); } markdown-style h3 { font-weight: 600; font-size: 1.25em; } markdown-style h4 { font-weight: 600; font-size: 1em; } markdown-style h5 { font-weight: 600; font-size: .875em; } markdown-style h6 { font-weight: 600; font-size: .85em; color: var(--color-fg-muted); } markdown-style p { margin-top: 0; margin-bottom: 10px; } markdown-style blockquote { margin: 0; padding: 0 1em; color: var(--color-fg-muted); border-left: .25em solid var(--color-border-default); } markdown-style ul, markdown-style ol { margin-top: 0; margin-bottom: 0; padding-left: 2em; } markdown-style ol ol, markdown-style ul ol { list-style-type: lower-roman; } markdown-style ul ul ol, markdown-style ul ol ol, markdown-style ol ul ol, markdown-style ol ol ol { list-style-type: lower-alpha; } markdown-style dd { margin-left: 0; } markdown-style tt, markdown-style code { font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; font-size: 12px; } markdown-style pre { margin-top: 0; margin-bottom: 0; font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; font-size: 12px; word-wrap: normal; } markdown-style .octicon { display: inline-block; overflow: visible !important; vertical-align: text-bottom; fill: currentColor; } markdown-style ::placeholder { color: var(--color-fg-subtle); opacity: 1; } markdown-style input::-webkit-outer-spin-button, markdown-style input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; appearance: none; } +markdown-style .token.comment, markdown-style .token.prolog, markdown-style .token.doctype, markdown-style .token.cdata { color: var(--color-prettylights-syntax-comment); } markdown-style .token.namespace { opacity: 0.7; } markdown-style .token.tag, markdown-style .token.selector, markdown-style .token.constant, markdown-style .token.symbol, markdown-style .token.deleted { color: var(--color-prettylights-syntax-entity-tag); } markdown-style .token.maybe-class-name { color: var(--color-prettylights-syntax-variable); } markdown-style .token.property-access, markdown-style .token.operator, markdown-style .token.boolean, markdown-style .token.number, markdown-style .token.selector markdown-style .token.class, markdown-style .token.attr-name, markdown-style .token.string, markdown-style .token.char, markdown-style .token.builtin { color: var(--color-prettylights-syntax-constant); } markdown-style .token.deleted { color: var(--color-prettylights-syntax-markup-deleted-text); } markdown-style .token.property { color: var(--color-prettylights-syntax-constant); } markdown-style .token.punctuation { color: var(--color-prettylights-syntax-markup-bold); } markdown-style .token.function { color: var(--color-prettylights-syntax-entity); } markdown-style .code-line .token.deleted { background-color: var(--color-prettylights-syntax-markup-deleted-bg); } markdown-style .token.inserted { color: var(--color-prettylights-syntax-markup-inserted-text); } markdown-style .code-line .token.inserted { background-color: var(--color-prettylights-syntax-markup-inserted-bg); } markdown-style .token.variable { color: var(--color-prettylights-syntax-constant); } markdown-style .token.entity, markdown-style .token.url, .language-css markdown-style .token.string, .style markdown-style .token.string { color: var(--color-prettylights-syntax-string); } markdown-style .token.color, markdown-style .token.atrule, markdown-style .token.attr-value, markdown-style .token.function, markdown-style .token.class-name { color: var(--color-prettylights-syntax-string); } markdown-style .token.rule, markdown-style .token.regex, markdown-style .token.important, markdown-style .token.keyword { color: var(--color-prettylights-syntax-keyword); } markdown-style .token.coord { color: var(--color-prettylights-syntax-meta-diff-range); } markdown-style .token.important, markdown-style .token.bold { font-weight: bold; } markdown-style .token.italic { font-style: italic; } markdown-style .token.entity { cursor: help; } +markdown-style [data-catalyst] { display: block; } markdown-style g-emoji { font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; font-size: 1em; font-style: normal !important; font-weight: 400; line-height: 1; vertical-align: -0.075em; } markdown-style g-emoji img { width: 1em; height: 1em; } markdown-style::before { display: table; content: ""; } markdown-style::after { display: table; clear: both; content: ""; } markdown-style>*:first-child { margin-top: 0 !important; } markdown-style>*:last-child { margin-bottom: 0 !important; } markdown-style a:not([href]) { color: inherit; text-decoration: none; } markdown-style .absent { color: var(--color-danger-fg); } markdown-style .anchor { float: left; padding-right: 4px; margin-left: -20px; line-height: 1; } markdown-style .anchor:focus { outline: none; } markdown-style p, markdown-style blockquote, markdown-style ul, markdown-style ol, markdown-style dl, markdown-style table, markdown-style pre, markdown-style details { margin-top: 0; margin-bottom: 16px; } markdown-style blockquote>:first-child { margin-top: 0; } markdown-style blockquote>:last-child { margin-bottom: 0; } markdown-style sup>a::before { content: "["; } markdown-style sup>a::after { content: "]"; } markdown-style h1 .octicon-link, markdown-style h2 .octicon-link, markdown-style h3 .octicon-link, markdown-style h4 .octicon-link, markdown-style h5 .octicon-link, markdown-style h6 .octicon-link { color: var(--color-fg-default); vertical-align: middle; visibility: hidden; } markdown-style h1:hover .anchor, markdown-style h2:hover .anchor, markdown-style h3:hover .anchor, markdown-style h4:hover .anchor, markdown-style h5:hover .anchor, markdown-style h6:hover .anchor { text-decoration: none; } markdown-style h1:hover .anchor .octicon-link, markdown-style h2:hover .anchor .octicon-link, markdown-style h3:hover .anchor .octicon-link, markdown-style h4:hover .anchor .octicon-link, markdown-style h5:hover .anchor .octicon-link, markdown-style h6:hover .anchor .octicon-link { visibility: visible; } markdown-style h1 tt, markdown-style h1 code, markdown-style h2 tt, markdown-style h2 code, markdown-style h3 tt, markdown-style h3 code, markdown-style h4 tt, markdown-style h4 code, markdown-style h5 tt, markdown-style h5 code, markdown-style h6 tt, markdown-style h6 code { padding: 0 .2em; font-size: inherit; } markdown-style ul.no-list, markdown-style ol.no-list { padding: 0; list-style-type: none; } markdown-style ol[type="1"] { list-style-type: decimal; } markdown-style ol[type=a] { list-style-type: lower-alpha; } markdown-style ol[type=i] { list-style-type: lower-roman; } markdown-style div>ol:not([type]) { list-style-type: decimal; } markdown-style ul ul, markdown-style ul ol, markdown-style ol ol, markdown-style ol ul { margin-top: 0; margin-bottom: 0; } markdown-style li>p { margin-top: 16px; } markdown-style li+li { margin-top: .25em; } markdown-style dl { padding: 0; } markdown-style dl dt { padding: 0; margin-top: 16px; font-size: 1em; font-style: italic; font-weight: 600; } markdown-style dl dd { padding: 0 16px; margin-bottom: 16px; } markdown-style table th { font-weight: 600; } markdown-style table th, markdown-style table td { padding: 6px 13px; border: 1px solid var(--color-border-default); } markdown-style table tr { background-color: var(--color-canvas-default); border-top: 1px solid var(--color-border-muted); } markdown-style table tr:nth-child(2n) { background-color: var(--color-canvas-subtle); } markdown-style table img { background-color: transparent; vertical-align: middle; } markdown-style img[align=right] { padding-left: 20px; } markdown-style img[align=left] { padding-right: 20px; } markdown-style .emoji { max-width: none; vertical-align: text-top; background-color: transparent; } markdown-style span.frame { display: block; overflow: hidden; } markdown-style span.frame>span { display: block; float: left; width: auto; padding: 7px; margin: 13px 0 0; overflow: hidden; border: 1px solid var(--color-border-default); } markdown-style span.frame span img { display: block; float: left; } markdown-style span.frame span span { display: block; padding: 5px 0 0; clear: both; color: var(--color-fg-default); } markdown-style span.align-center { display: block; overflow: hidden; clear: both; } markdown-style span.align-center>span { display: block; margin: 13px auto 0; overflow: hidden; text-align: center; } markdown-style span.align-center span img { margin: 0 auto; text-align: center; } markdown-style span.align-right { display: block; overflow: hidden; clear: both; } markdown-style span.align-right>span { display: block; margin: 13px 0 0; overflow: hidden; text-align: right; } markdown-style span.align-right span img { margin: 0; text-align: right; } markdown-style span.float-left { display: block; float: left; margin-right: 13px; overflow: hidden; } markdown-style span.float-left span { margin: 13px 0 0; } markdown-style span.float-right { display: block; float: right; margin-left: 13px; overflow: hidden; } markdown-style span.float-right>span { display: block; margin: 13px auto 0; overflow: hidden; text-align: right; } markdown-style code, markdown-style tt { padding: .2em .4em; margin: 0; font-size: 85%; background-color: var(--color-neutral-muted); border-radius: 6px; } markdown-style code br, markdown-style tt br { display: none; } markdown-style del code { text-decoration: inherit; } markdown-style pre code { font-size: 100%; } markdown-style pre>code { padding: 0; margin: 0; word-break: normal; white-space: pre; background: transparent; border: 0; } markdown-style pre { position: relative; font-size: 85%; line-height: 1.45; background-color: var(--color-canvas-subtle); border-radius: 6px; } markdown-style pre code, markdown-style pre tt { display: inline; max-width: auto; padding: 0; margin: 0; overflow: visible; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0; } markdown-style pre > code { padding: 16px; overflow: auto; display: block; } markdown-style .csv-data td, markdown-style .csv-data th { padding: 5px; overflow: hidden; font-size: 12px; line-height: 1; text-align: left; white-space: nowrap; } markdown-style .csv-data .blob-num { padding: 10px 8px 9px; text-align: right; background: var(--color-canvas-default); border: 0; } markdown-style .csv-data tr { border-top: 0; } markdown-style .csv-data th { font-weight: 600; background: var(--color-canvas-subtle); border-top: 0; } markdown-style .footnotes { font-size: 12px; color: var(--color-fg-muted); border-top: 1px solid var(--color-border-default); } markdown-style .footnotes ol { padding-left: 16px; } markdown-style .footnotes li { position: relative; } markdown-style .footnotes li:target::before { position: absolute; top: -8px; right: -8px; bottom: -8px; left: -24px; pointer-events: none; content: ""; border: 2px solid var(--color-accent-emphasis); border-radius: 6px; } markdown-style .footnotes li:target { color: var(--color-fg-default); } markdown-style .footnotes .data-footnote-backref g-emoji { font-family: monospace; } markdown-style .task-list-item { list-style-type: none; } markdown-style .task-list-item label { font-weight: 400; } markdown-style .task-list-item.enabled label { cursor: pointer; } markdown-style .task-list-item+.task-list-item { margin-top: 3px; } markdown-style .task-list-item .handle { display: none; } markdown-style .task-list-item-checkbox, markdown-style input[type="checkbox"] { margin: 0 .2em .25em -1.6em; vertical-align: middle; } markdown-style .contains-task-list:dir(rtl) .task-list-item-checkbox, markdown-style .contains-task-list:dir(rtl) input[type="checkbox"] { margin: 0 -1.6em .25em .2em; } markdown-style ::-webkit-calendar-picker-indicator { filter: invert(50%); } `; class MarkdownStyle extends HTMLElement { constructor() { super(); - this.initTheme = this.getAttribute('theme'); this.shadow = this.attachShadow({ mode: 'open' }); this.shadow.appendChild(__TEMPLATE__.content.cloneNode(true)); - this.setTheme(); const style = Array.prototype.slice .call(this.shadow.children) .find((item) => item.tagName === 'STYLE'); @@ -148,59 +147,31 @@ } } } - setTheme() { - if (!this.initTheme) { - const { colorMode } = document.documentElement.dataset; - this.theme = colorMode; - if (this.theme === 'undefined') { - if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { - this.theme = 'dark'; - } - if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) { - this.theme = 'light'; - } - } - } + get theme() { + const value = this.getAttribute('theme'); + return value === null ? '' : value; + } + set theme(name) { + this.setAttribute('theme', name); } connectedCallback() { - this.installStringReflection('theme'); - if (!this.initTheme) { - this.setTheme(); + if (!this.theme) { + const { colorMode } = document.documentElement.dataset; + this.theme = colorMode; const observer = new MutationObserver((mutationsList, observer) => { this.theme = document.documentElement.dataset.colorMode; - this.setTheme(); }); - // Start observing the target node with the above configuration observer.observe(document.documentElement, { attributes: true }); window.matchMedia('(prefers-color-scheme: light)').onchange = (event) => { this.theme = event.matches ? 'light' : 'dark'; - this.setTheme(); }; window.matchMedia('(prefers-color-scheme: dark)').onchange = (event) => { this.theme = event.matches ? 'dark' : 'light'; - this.setTheme(); }; } } - /** - * See https://html.spec.whatwg.org/multipage/common-dom-interfaces.html - * #reflecting-content-attributes-in-idl-attributes. - */ - installStringReflection(attrName, propName = attrName) { - Object.defineProperty(this, propName, { - enumerable: true, - get() { - const value = this.getAttribute(attrName); - return value === null ? '' : value; - }, - set(v) { - this.setAttribute(attrName, v); - }, - }); - } } -customElements.define('markdown-style', MarkdownStyle); - +customElements.define('markdown-style', MarkdownStyle); RegExp Example 正则表达式实例搜集,通过实例来学习正则表达式。本仓库实例搜集整理来自于《一些正则表达式随记》,通过一个单独仓库专门整理这些正则实例,提供一个实例网站,方便正则实例验证和查询。也方便添加新的正则实例大家共同维护。 @@ -431,156 +402,156 @@ Example 身份证号 分享例子🐞修改正则^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ 🚧 E.g: 42112319870115371X 军官证 分享例子🐞修改正则^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$ 🚧 E.g: 军字第2001988号,士字第P011816X号。 军/兵/士/文/职/广/(其他中文) + "字第" + 4到8位字母或数字 + "号" 护照 分享例子🐞修改正则^([a-zA-z]|[0-9]){5,17}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([a-zA-z]|[0-9]){5,17}$ 🚧 E.g: 141234567,G12345678,P1234567。14/15开头 + 7位数字, G + 8位数字, P + 7位数字, S/D + 7或8位数字,等 港澳居民来往内地通行证 分享例子🐞修改正则^([A-Z]\d{6,10}(\(\w{1}\))?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([A-Z]\d{6,10}(\(\w{1}\))?)$ 🚧 E.g: H1234567890。H/M + 10位或6位数字 台湾居民来往大陆通行证 分享例子🐞修改正则^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$ 🚧 E.g: 12345678,1234567890B。新版8位或18位数字, 旧版10位数字 + 英文字母 用户名 分享例子🐞修改正则^[a-zA-Z0-9_-]{4,16}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z0-9_-]{4,16}$ 🚧 E.g: jaywcjlove。验证 数字、字母、_、-,不包含特殊字符,长度 4-16 之间。 微信号 分享例子🐞修改正则^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$ 🚧 E.g: jslite。微信号正则,6至20位,以字母开头,字母,数字,减号,下划线。 密码强度(宽松) 分享例子🐞修改正则^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 🚧 E.g: diaoD123, Wgood123。必须是包含大小写字母和数字的组合,长度在 8-10 之间。 分享例子🐞修改正则^[0-9a-zA-Z\u4E00-\uFA29]*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[0-9a-zA-Z\u4E00-\uFA29]*$ 🚧 E.g: diaoD123, Wgood123。数字字母中文。 密码强度(包含特殊字符) 分享例子🐞修改正则^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$ 🚧 E.g: diaoD123#, Wgood123#$。密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符。 火车车次 分享例子🐞修改正则^[GCDZTSPKXLY1-9]\d{1,4}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[GCDZTSPKXLY1-9]\d{1,4}$ E.g: G2868, D22, D9, Z5, Z24, Z17 汉字中文 分享例子🐞修改正则^[\u4e00-\u9fa5]{0,}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4e00-\u9fa5]{0,}$ 🚧 E.g: 中文, 湖北, 黄冈。不限制文字长度。 分享例子🐞修改正则^[\u4e00-\u9fa5]{2,6}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4e00-\u9fa5]{2,6}$ 🚧 E.g: 中文, 湖北黄冈。2到6位汉字 中文名字 分享例子🐞修改正则^(?:[\u4e00-\u9fa5·]{2,16})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:[\u4e00-\u9fa5·]{2,16})$ 🚧 E.g: 周杰伦, 古丽娜扎尔·拜合提亚尔, 拉希德·本·穆罕默德·本·拉希德。 英文姓名 分享例子🐞修改正则(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$) 🚧 E.g: Gene Kelly, Fred Astaire, Humphrey Bogart, GaryCooper, Cary Grant, Joan Crawford URL 分享例子🐞修改正则^[a-zA-Z]+:\/\/ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z]+:\/\/ 🚧 E.g: http://www.abc.com, http://, https:// 分享例子🐞修改正则^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$ 🚧 E.g: https://github.com, https://github.com/jaywcjlove 分享例子🐞修改正则^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ 🚧 E.g: blog.csdn.net Mac地址匹配 分享例子🐞修改正则^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$ 🚧 E.g: dc:a9:04:77:37:20 图片后缀 分享例子🐞修改正则(.jpg|.gif|.png|.jpeg)+(\?|\#|$) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(.jpg|.gif|.png|.jpeg)+(\?|\#|$) 🚧 E.g: a/b/c.jpg?, a/b/c.png, a/b/c.png?good=1 传真号码 分享例子🐞修改正则^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$ 🚧 E.g: 086-021-5055452, 021-5055452。国家代码(2到3位),区号(2到3位),电话号码(7到8位),分机号(3位) 手机号码 分享例子🐞修改正则^1[34578]\d{9}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^1[34578]\d{9}$ 🚧 E.g: 13611778887 分享例子🐞修改正则^((\+?[0-9]{1,4})|(\(\+86\)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])\d{8}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((\+?[0-9]{1,4})|(\(\+86\)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])\d{8}$ @@ -598,40 +569,40 @@ MD5格式(32位) 分享例子🐞修改正则^[a-f0-9]{32}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-f0-9]{32}$ 🚧 E.g: a31851770dae6ee96fc886f261c211e7, 99cd2175108d157588c04758296d1cfc IPv4 地址 分享例子🐞修改正则(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} 🚧 E.g: 192.168.1.1, 127.0.0.1, 0.0.0.0, 255.255.255.255, 1.2.3.4 分享例子🐞修改正则^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ 🚧 E.g: 192.168.1.1, 127.0.0.1, 0.0.0.0, 255.255.255.255, 1.2.3.4 IPv6 分享例子🐞修改正则(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])) 🚧 E.g: 2001:0db8:85a3:0000:0000:8a2e:0370:7334, FE80:0000:0000:0000:0202:B3FF:FE1E:8329。 Email 分享例子🐞修改正则^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$ 🚧 E.g: wowohoo@qq.com 分享例子🐞修改正则^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ @@ -651,201 +622,201 @@ 十六进制颜色 分享例子🐞修改正则^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ 🚧 E.g: #b8b8b8, #333 分享例子🐞修改正则^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ 🚧 E.g: #b8b8b8, #333 日期 分享例子🐞修改正则^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$ 🚧 E.g: 2017-02-29。对月份及日期验证。 版本号 分享例子🐞修改正则^\d+(?:\.\d+){2}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d+(?:\.\d+){2}$ 🚧 E.g: 0.1.2。格式必须为 X.Y.Z。 车牌号 分享例子🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$ 🚧 E.g: 鄂A34324, 沪E13359F。包含新能源车牌。 分享例子🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$ 🚧 E.g: 鄂A34324, 沪E13595。不包含新能源车牌。 小数点后几位 分享例子🐞修改正则^(0|[1-9]\d*)(.[0-9]{2})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(0|[1-9]\d*)(.[0-9]{2})$ 🚧 E.g: 1.22, 0223.23, 0.00。精确到 2 位小数 分享例子🐞修改正则^(0|[1-9]\d{0,7}).?(([1-9]{1,2}?)|(0[1-9]))$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(0|[1-9]\d{0,7}).?(([1-9]{1,2}?)|(0[1-9]))$ 🚧 E.g: 99999999.99, 非零,俩位小数,最大 99999999.99 @cuilanxin 小数 分享例子🐞修改正则^\d+\.\d+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d+\.\d+$ 🚧 E.g: 0.0, 0.23, 10.54。 分享例子🐞修改正则(-?\d+)(\.\d+)? +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(-?\d+)(\.\d+)? 🚧 E.g: -0.0, 0.23, -10.54。 正整数 分享例子🐞修改正则[0-9]*[1-9][0-9]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则[0-9]*[1-9][0-9]* 🚧 E.g: 23 负整数 分享例子🐞修改正则-[0-9]*[1-9][0-9]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则-[0-9]*[1-9][0-9]* 🚧 E.g: -23, -2.34 整数 分享例子🐞修改正则-?\d+ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则-?\d+ 🚧 E.g: 23, 12, -12.55 非负整数(正整数或零) 分享例子🐞修改正则\d+ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则\d+ 🚧 E.g: 23, 3.322 数字 分享例子🐞修改正则^\d{1,}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{1,}$ 🚧 E.g: 0120,234234。不包含小数。 分享例子🐞修改正则^\d{32}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{32}$ 🚧 E.g: 12232324444757575757575757575759。32位纯数字。 数字(QQ号码) 分享例子🐞修改正则^[1-9][0-9]{4,10}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[1-9][0-9]{4,10}$ 🚧 E.g: 398188661。QQ号正则,5至11位。 分享例子🐞修改正则^\d{5,11}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{5,11}$ 🚧 E.g: 398188661。更简单的 QQ 号码正则,5~11位数字组成。 中国邮政编码 分享例子🐞修改正则[1-9]\d{5}(?!\d) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则[1-9]\d{5}(?!\d) 🚧 E.g: 200000。中国邮政编码为 6 位数字。 英文字母 分享例子🐞修改正则^[A-Z]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[A-Z]+$ 🚧 E.g: ABC,WANG。大写英文字母。 分享例子🐞修改正则^[a-z]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-z]+$ 🚧 E.g: abc,wang。小写英文字母。 分享例子🐞修改正则(^[a-z]|[A-Z0-9])[a-z]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(^[a-z]|[A-Z0-9])[a-z]* 🚧 E.g: Tests,JavaScript,RegEx。大驼峰。 端口号 分享例子🐞修改正则^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$ 🚧 E.g: 8080,3000,65535 迅雷链接 分享例子🐞修改正则^thunderx?:\/\/[a-zA-Z\d]+=$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^thunderx?:\/\/[a-zA-Z\d]+=$ 🚧 E.g: thunder://QUFodHRwOi0vdG0vbC5sdS90ZXN0LnppcFpa。 ed2k链接 分享例子🐞修改正则^ed2k:\/\/\|file\|.+\|\/$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^ed2k:\/\/\|file\|.+\|\/$ 🚧 E.g: ed2k://|file|[xxx.com][%E8%8B%B1%E9%9B%84%E6%9C%AC%E8%89%B23.mp4|/。 磁力链接 分享例子🐞修改正则^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$ 🚧 E.g: magnet:?xt=urn:btih:608FA22181A2614BAE9160763F04FCB7ED296B9E 时间 分享例子🐞修改正则^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$ 🚧 E.g: 21:54:55,00:23:23。24 小时制时间格式 HH:mm:ss,并且验证时间。 分享例子🐞修改正则^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$ 🚧 E.g: 12:54:55,01:23:23。12 小时制时间格式 HH:mm:ss,并且验证时间。 HTML标记 分享例子🐞修改正则<(\S*?)[^>]*>.*?</\1>|<.*?/> +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则<(\S*?)[^>]*>.*?</\1>|<.*?/> 🚧 E.g: <div>title</div>, <head>title</head>。 HTML注释 分享例子🐞修改正则<!--(.*?)--> +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则<!--(.*?)-->
正则表达式实例搜集,通过实例来学习正则表达式。本仓库实例搜集整理来自于《一些正则表达式随记》,通过一个单独仓库专门整理这些正则实例,提供一个实例网站,方便正则实例验证和查询。也方便添加新的正则实例大家共同维护。
分享例子🐞修改正则^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则
^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则
^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$
🚧 E.g: 42112319870115371X
42112319870115371X
分享例子🐞修改正则^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$
^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$
^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$
🚧 E.g: 军字第2001988号,士字第P011816X号。 军/兵/士/文/职/广/(其他中文) + "字第" + 4到8位字母或数字 + "号"
军字第2001988号
士字第P011816X号
分享例子🐞修改正则^([a-zA-z]|[0-9]){5,17}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([a-zA-z]|[0-9]){5,17}$
^([a-zA-z]|[0-9]){5,17}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([a-zA-z]|[0-9]){5,17}$
^([a-zA-z]|[0-9]){5,17}$
🚧 E.g: 141234567,G12345678,P1234567。14/15开头 + 7位数字, G + 8位数字, P + 7位数字, S/D + 7或8位数字,等
141234567
G12345678
P1234567
分享例子🐞修改正则^([A-Z]\d{6,10}(\(\w{1}\))?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([A-Z]\d{6,10}(\(\w{1}\))?)$
^([A-Z]\d{6,10}(\(\w{1}\))?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([A-Z]\d{6,10}(\(\w{1}\))?)$
^([A-Z]\d{6,10}(\(\w{1}\))?)$
🚧 E.g: H1234567890。H/M + 10位或6位数字
H1234567890
分享例子🐞修改正则^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$
^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$
^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$
🚧 E.g: 12345678,1234567890B。新版8位或18位数字, 旧版10位数字 + 英文字母
12345678
1234567890B
分享例子🐞修改正则^[a-zA-Z0-9_-]{4,16}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z0-9_-]{4,16}$
^[a-zA-Z0-9_-]{4,16}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z0-9_-]{4,16}$
^[a-zA-Z0-9_-]{4,16}$
🚧 E.g: jaywcjlove。验证 数字、字母、_、-,不包含特殊字符,长度 4-16 之间。
jaywcjlove
4-16
分享例子🐞修改正则^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$
^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$
^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$
🚧 E.g: jslite。微信号正则,6至20位,以字母开头,字母,数字,减号,下划线。
jslite
分享例子🐞修改正则^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
🚧 E.g: diaoD123, Wgood123。必须是包含大小写字母和数字的组合,长度在 8-10 之间。
diaoD123
Wgood123
8-10
分享例子🐞修改正则^[0-9a-zA-Z\u4E00-\uFA29]*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[0-9a-zA-Z\u4E00-\uFA29]*$
^[0-9a-zA-Z\u4E00-\uFA29]*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[0-9a-zA-Z\u4E00-\uFA29]*$
^[0-9a-zA-Z\u4E00-\uFA29]*$
🚧 E.g: diaoD123, Wgood123。数字字母中文。
分享例子🐞修改正则^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$
^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$
^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$
🚧 E.g: diaoD123#, Wgood123#$。密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符。
diaoD123#
Wgood123#$
6
1
分享例子🐞修改正则^[GCDZTSPKXLY1-9]\d{1,4}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[GCDZTSPKXLY1-9]\d{1,4}$
^[GCDZTSPKXLY1-9]\d{1,4}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[GCDZTSPKXLY1-9]\d{1,4}$
^[GCDZTSPKXLY1-9]\d{1,4}$
E.g: G2868, D22, D9, Z5, Z24, Z17
G2868
D22
D9
Z5
Z24
Z17
分享例子🐞修改正则^[\u4e00-\u9fa5]{0,}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4e00-\u9fa5]{0,}$
^[\u4e00-\u9fa5]{0,}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4e00-\u9fa5]{0,}$
^[\u4e00-\u9fa5]{0,}$
🚧 E.g: 中文, 湖北, 黄冈。不限制文字长度。
中文
湖北
黄冈
分享例子🐞修改正则^[\u4e00-\u9fa5]{2,6}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4e00-\u9fa5]{2,6}$
^[\u4e00-\u9fa5]{2,6}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[\u4e00-\u9fa5]{2,6}$
^[\u4e00-\u9fa5]{2,6}$
🚧 E.g: 中文, 湖北黄冈。2到6位汉字
湖北黄冈
分享例子🐞修改正则^(?:[\u4e00-\u9fa5·]{2,16})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:[\u4e00-\u9fa5·]{2,16})$
^(?:[\u4e00-\u9fa5·]{2,16})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:[\u4e00-\u9fa5·]{2,16})$
^(?:[\u4e00-\u9fa5·]{2,16})$
🚧 E.g: 周杰伦, 古丽娜扎尔·拜合提亚尔, 拉希德·本·穆罕默德·本·拉希德。
周杰伦
古丽娜扎尔·拜合提亚尔
拉希德·本·穆罕默德·本·拉希德
分享例子🐞修改正则(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$)
(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$)
(^[a-zA-Z][a-zA-Z\s]{0,20}[a-zA-Z]$)
🚧 E.g: Gene Kelly, Fred Astaire, Humphrey Bogart, GaryCooper, Cary Grant, Joan Crawford
Gene Kelly
Fred Astaire
Humphrey Bogart
GaryCooper
Cary Grant
Joan Crawford
分享例子🐞修改正则^[a-zA-Z]+:\/\/ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z]+:\/\/
^[a-zA-Z]+:\/\/ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-zA-Z]+:\/\/
^[a-zA-Z]+:\/\/
🚧 E.g: http://www.abc.com, http://, https://
http://www.abc.com
http://
https://
分享例子🐞修改正则^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
🚧 E.g: https://github.com, https://github.com/jaywcjlove
https://github.com
https://github.com/jaywcjlove
分享例子🐞修改正则^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$
🚧 E.g: blog.csdn.net
blog.csdn.net
分享例子🐞修改正则^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$
^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$
^([0-9a-fA-F][0-9a-fA-F]:){5}([0-9a-fA-F][0-9a-fA-F])$
🚧 E.g: dc:a9:04:77:37:20
dc:a9:04:77:37:20
分享例子🐞修改正则(.jpg|.gif|.png|.jpeg)+(\?|\#|$) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(.jpg|.gif|.png|.jpeg)+(\?|\#|$)
(.jpg|.gif|.png|.jpeg)+(\?|\#|$) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(.jpg|.gif|.png|.jpeg)+(\?|\#|$)
(.jpg|.gif|.png|.jpeg)+(\?|\#|$)
🚧 E.g: a/b/c.jpg?, a/b/c.png, a/b/c.png?good=1
a/b/c.jpg?
a/b/c.png
a/b/c.png?good=1
分享例子🐞修改正则^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$
^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$
^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$
🚧 E.g: 086-021-5055452, 021-5055452。国家代码(2到3位),区号(2到3位),电话号码(7到8位),分机号(3位)
086-021-5055452
021-5055452
分享例子🐞修改正则^1[34578]\d{9}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^1[34578]\d{9}$
^1[34578]\d{9}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^1[34578]\d{9}$
^1[34578]\d{9}$
🚧 E.g: 13611778887
13611778887
分享例子🐞修改正则^((\+?[0-9]{1,4})|(\(\+86\)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])\d{8}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((\+?[0-9]{1,4})|(\(\+86\)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])\d{8}$
^((\+?[0-9]{1,4})|(\(\+86\)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])\d{8}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((\+?[0-9]{1,4})|(\(\+86\)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])\d{8}$
^((\+?[0-9]{1,4})|(\(\+86\)))?(13[0-9]|14[57]|15[012356789]|17[03678]|18[0-9])\d{8}$
分享例子🐞修改正则^[a-f0-9]{32}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-f0-9]{32}$
^[a-f0-9]{32}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-f0-9]{32}$
^[a-f0-9]{32}$
🚧 E.g: a31851770dae6ee96fc886f261c211e7, 99cd2175108d157588c04758296d1cfc
a31851770dae6ee96fc886f261c211e7
99cd2175108d157588c04758296d1cfc
分享例子🐞修改正则(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}
(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3} +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}
(\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}
🚧 E.g: 192.168.1.1, 127.0.0.1, 0.0.0.0, 255.255.255.255, 1.2.3.4
192.168.1.1
127.0.0.1
0.0.0.0
255.255.255.255
1.2.3.4
分享例子🐞修改正则^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
分享例子🐞修改正则(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
🚧 E.g: 2001:0db8:85a3:0000:0000:8a2e:0370:7334, FE80:0000:0000:0000:0202:B3FF:FE1E:8329。
2001:0db8:85a3:0000:0000:8a2e:0370:7334
FE80:0000:0000:0000:0202:B3FF:FE1E:8329
分享例子🐞修改正则^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$
^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$
^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$
🚧 E.g: wowohoo@qq.com
wowohoo@qq.com
分享例子🐞修改正则^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$
^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$
^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$
分享例子🐞修改正则^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则
^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则
^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$
🚧 E.g: #b8b8b8, #333
#b8b8b8
#333
分享例子🐞修改正则^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
分享例子🐞修改正则^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
🚧 E.g: 2017-02-29。对月份及日期验证。
2017-02-29
分享例子🐞修改正则^\d+(?:\.\d+){2}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d+(?:\.\d+){2}$
^\d+(?:\.\d+){2}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d+(?:\.\d+){2}$
^\d+(?:\.\d+){2}$
🚧 E.g: 0.1.2。格式必须为 X.Y.Z。
0.1.2
X.Y.Z
分享例子🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$
^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$
^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](?:((\d{5}[A-HJK])|([A-HJK][A-HJ-NP-Z0-9][0-9]{4}))|[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳])$
🚧 E.g: 鄂A34324, 沪E13359F。包含新能源车牌。
鄂A34324
沪E13359F
分享例子🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$
^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$
^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]$
🚧 E.g: 鄂A34324, 沪E13595。不包含新能源车牌。
沪E13595
分享例子🐞修改正则^(0|[1-9]\d*)(.[0-9]{2})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(0|[1-9]\d*)(.[0-9]{2})$
^(0|[1-9]\d*)(.[0-9]{2})$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(0|[1-9]\d*)(.[0-9]{2})$
^(0|[1-9]\d*)(.[0-9]{2})$
🚧 E.g: 1.22, 0223.23, 0.00。精确到 2 位小数
1.22
0223.23
0.00
2
分享例子🐞修改正则^(0|[1-9]\d{0,7}).?(([1-9]{1,2}?)|(0[1-9]))$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(0|[1-9]\d{0,7}).?(([1-9]{1,2}?)|(0[1-9]))$
^(0|[1-9]\d{0,7}).?(([1-9]{1,2}?)|(0[1-9]))$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(0|[1-9]\d{0,7}).?(([1-9]{1,2}?)|(0[1-9]))$
^(0|[1-9]\d{0,7}).?(([1-9]{1,2}?)|(0[1-9]))$
🚧 E.g: 99999999.99, 非零,俩位小数,最大 99999999.99 @cuilanxin
99999999.99
分享例子🐞修改正则^\d+\.\d+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d+\.\d+$
^\d+\.\d+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d+\.\d+$
^\d+\.\d+$
🚧 E.g: 0.0, 0.23, 10.54。
0.0
0.23
10.54
分享例子🐞修改正则(-?\d+)(\.\d+)? +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(-?\d+)(\.\d+)?
(-?\d+)(\.\d+)? +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(-?\d+)(\.\d+)?
(-?\d+)(\.\d+)?
🚧 E.g: -0.0, 0.23, -10.54。
-0.0
-10.54
分享例子🐞修改正则[0-9]*[1-9][0-9]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则[0-9]*[1-9][0-9]*
[0-9]*[1-9][0-9]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则[0-9]*[1-9][0-9]*
[0-9]*[1-9][0-9]*
🚧 E.g: 23
23
分享例子🐞修改正则-[0-9]*[1-9][0-9]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则-[0-9]*[1-9][0-9]*
-[0-9]*[1-9][0-9]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则-[0-9]*[1-9][0-9]*
-[0-9]*[1-9][0-9]*
🚧 E.g: -23, -2.34
-23
-2.34
分享例子🐞修改正则-?\d+ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则-?\d+
-?\d+ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则-?\d+
-?\d+
🚧 E.g: 23, 12, -12.55
12
-12.55
分享例子🐞修改正则\d+ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则\d+
\d+ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则\d+
\d+
🚧 E.g: 23, 3.322
3.322
分享例子🐞修改正则^\d{1,}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{1,}$
^\d{1,}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{1,}$
^\d{1,}$
🚧 E.g: 0120,234234。不包含小数。
0120
234234
分享例子🐞修改正则^\d{32}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{32}$
^\d{32}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{32}$
^\d{32}$
🚧 E.g: 12232324444757575757575757575759。32位纯数字。
12232324444757575757575757575759
分享例子🐞修改正则^[1-9][0-9]{4,10}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[1-9][0-9]{4,10}$
^[1-9][0-9]{4,10}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[1-9][0-9]{4,10}$
^[1-9][0-9]{4,10}$
🚧 E.g: 398188661。QQ号正则,5至11位。
398188661
分享例子🐞修改正则^\d{5,11}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{5,11}$
^\d{5,11}$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^\d{5,11}$
^\d{5,11}$
🚧 E.g: 398188661。更简单的 QQ 号码正则,5~11位数字组成。
分享例子🐞修改正则[1-9]\d{5}(?!\d) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则[1-9]\d{5}(?!\d)
[1-9]\d{5}(?!\d) +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则[1-9]\d{5}(?!\d)
[1-9]\d{5}(?!\d)
🚧 E.g: 200000。中国邮政编码为 6 位数字。
200000
分享例子🐞修改正则^[A-Z]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[A-Z]+$
^[A-Z]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[A-Z]+$
^[A-Z]+$
🚧 E.g: ABC,WANG。大写英文字母。
ABC
WANG
分享例子🐞修改正则^[a-z]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-z]+$
^[a-z]+$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^[a-z]+$
^[a-z]+$
🚧 E.g: abc,wang。小写英文字母。
abc
wang
分享例子🐞修改正则(^[a-z]|[A-Z0-9])[a-z]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(^[a-z]|[A-Z0-9])[a-z]*
(^[a-z]|[A-Z0-9])[a-z]* +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则(^[a-z]|[A-Z0-9])[a-z]*
(^[a-z]|[A-Z0-9])[a-z]*
🚧 E.g: Tests,JavaScript,RegEx。大驼峰。
Tests
JavaScript
RegEx
分享例子🐞修改正则^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$
^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$
^((6553[0-5])|(655[0-2][0-9])|(65[0-4][0-9]{2})|(6[0-4][0-9]{3})|([1-5][0-9]{4})|([0-5]{0,5})|([0-9]{1,4}))$
🚧 E.g: 8080,3000,65535
8080
3000
65535
分享例子🐞修改正则^thunderx?:\/\/[a-zA-Z\d]+=$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^thunderx?:\/\/[a-zA-Z\d]+=$
^thunderx?:\/\/[a-zA-Z\d]+=$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^thunderx?:\/\/[a-zA-Z\d]+=$
^thunderx?:\/\/[a-zA-Z\d]+=$
🚧 E.g: thunder://QUFodHRwOi0vdG0vbC5sdS90ZXN0LnppcFpa。
thunder://QUFodHRwOi0vdG0vbC5sdS90ZXN0LnppcFpa
分享例子🐞修改正则^ed2k:\/\/\|file\|.+\|\/$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^ed2k:\/\/\|file\|.+\|\/$
^ed2k:\/\/\|file\|.+\|\/$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^ed2k:\/\/\|file\|.+\|\/$
^ed2k:\/\/\|file\|.+\|\/$
🚧 E.g: ed2k://|file|[xxx.com][%E8%8B%B1%E9%9B%84%E6%9C%AC%E8%89%B23.mp4|/。
ed2k://|file|[xxx.com][%E8%8B%B1%E9%9B%84%E6%9C%AC%E8%89%B23.mp4|/
分享例子🐞修改正则^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$
^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$
^magnet:\?xt=urn:btih:[0-9a-fA-F]{40,}.*$
🚧 E.g: magnet:?xt=urn:btih:608FA22181A2614BAE9160763F04FCB7ED296B9E
magnet:?xt=urn:btih:608FA22181A2614BAE9160763F04FCB7ED296B9E
分享例子🐞修改正则^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d$
🚧 E.g: 21:54:55,00:23:23。24 小时制时间格式 HH:mm:ss,并且验证时间。
21:54:55
00:23:23
24
HH:mm:ss
分享例子🐞修改正则^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$
^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$ +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$
^(?:1[0-2]|0?[1-9]):[0-5]\d:[0-5]\d$
🚧 E.g: 12:54:55,01:23:23。12 小时制时间格式 HH:mm:ss,并且验证时间。
12:54:55
01:23:23
分享例子🐞修改正则<(\S*?)[^>]*>.*?</\1>|<.*?/> +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则<(\S*?)[^>]*>.*?</\1>|<.*?/>
<(\S*?)[^>]*>.*?</\1>|<.*?/> +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则<(\S*?)[^>]*>.*?</\1>|<.*?/>
<(\S*?)[^>]*>.*?</\1>|<.*?/>
🚧 E.g: <div>title</div>, <head>title</head>。
<div>title</div>
<head>title</head>
分享例子🐞修改正则<!--(.*?)--> +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则<!--(.*?)-->
<!--(.*?)--> +`~~%0a✅ 正则:`正则示例`&title=修改实例:xxx">🐞修改正则<!--(.*?)-->
<!--(.*?)-->