使用正则匹配所有中文,但特定行除外
使用下面的正则表达式,可以匹配出所有的中文,但是我想把注释行排除,正则表达式应该怎样更改? 我知道排除//的表达式是(?!//),但是添加进去都没有效果,望高手指点
期望的输出结果:
文字一
文字二
文字三
文字四
$s= @'
class Program
{
static void Main()
{
//这里的文字不处理
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
DocumentModel document = new DocumentModel();
Section section = new Section(document);
document.Sections.Add(section);
Paragraph paragraph = new Paragraph(document);
section.Blocks.Add(paragraph);
Run run = new Run(document, "文字一");
paragraph.文字二Inlines.Add(run);文字三
文字四document.Save("test.docx");
}
}
'@
[regex]::Matches($s, '[^\x00-\xff]+') | foreach { $_.value } | echo
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果用 JS 的正则实现,大概是这样:
/(?<!\/\/[^\n]*)[^\x00-\xff]+/g