我正在尝试使用 regex 在我的代码中查找 HTML 标记<(.|\n)+?>
。
现在我遇到了一个字符串,这个正则表达式给了我一个StackOverflowError
.
它第一次通过 group 函数在字符串中找到粗体部分,但下一次给出下面提到的异常。
我正在使用以下字符串:
“在 SCCM 2012 中有一个完全修订的移动设备版本 管理部分。当然,这在 SCCM 2007 中已经存在,但是,嘿,你会吗? 想要“管理”古老的 Windows CE 或 Windows Mobile 5.0 设备?我没有 也这么认为。此外,在 SCCM 2007 时代,自带设备 (BYOD) 像今天一样热,每个人都想带进来并使用自己的 平板电脑、智能手机和笔记本电脑。现在有了 SCCM 2012,有适当的支持 对于 BYOD。是的!有关这方面的一个很好的概述,请参阅 Principal 的此视频 项目经理 Jeffrey Sutherland,谈论移动设备管理 SCCM 2012. Light and Depth Management 我们可以定义两种类型的设备 SCCM 2012 中的管理:-> 灯光管理 **<- 通过 Exchange 工作 ActiveSync,我们利用现有的 Exchange 设备策略,做轻 设备管理(远程擦除、锁定等) 我们为什么要这样做?它是 已经在 Exchange 对吗?好吧,Exchange 管理员可能不是很 与特定的最终用户设备有关,因为他们与处理 邮件流,因此此任务可能更适合桌面/最终用户/设备 您组织中的管理团队。他们是与 SCCM 2012 合作的人, 他们是最有兴趣收集有关信息的人,并且 管理设备。此外,SCCM 提供了一些非常好的报告 devices.** -> In-Depth Management <- 另一种类型是 In-Depth Management 的移动设备 这不能通过 EAS 工作,而是通过两个新的 SCCM SCCM 2012 中引入的角色;注册点和 注册代理点。深度管理可以通过两种方式进行;- 注册 通过在移动设备上安装移动设备客户端,将移动设备导入 SCCM。 仅在受支持的移动操作系统上。(当前为 WinMobile 6.1、6.5 和诺基亚 Symbian 美女)。提供了大多数功能。- 通过以下方式将移动设备注册到 SCCM 在其上安装旧版移动设备客户端。仅在受支持的手机上 操作系统,目前是古老的 WinCE 5、6 和 7,以及 WinMo 6.0。较少的 功能,但仍然比 EAS 更多的选择。为了一个很好的比较 所有三个场景的所有功能(EAS、设备上的移动设备客户端和 旧版移动设备客户端),请参阅 Technet 上的此页面。请注意,两者都深入 解决方案需要 PKI 基础设施,因为证书是 在设备上使用!因此,稍后将详细介绍深入部分,让我们首先了解 EAS 连接。(是的,您也可以选择混合解决方案,即使用 EAS 和通过注册)移动设备管理的配置 通过 Exchange 那么,我们该如何设置呢?首先是先决条件:Exchange 2010 SP1 服务器(或 Exchange Online(office365)和一个工作的 SCCM 2012 服务器(duh) 以及它们之间的网络连接。然后我们要建立连接 在 SCCM 服务器和 Exchange (CAS) 服务器之间。我们点击添加交换 服务器并获取向导:指定交换 CAS 服务器的名称...嘿, 看看这个画面。交易所许可的精确列表 连接器帐户需要。我想说这需要一个新的 RBAC 角色 交换!因此,让我们首先为此连接创建一个服务帐户并分配 适当的交换权限。现在我将分配只读 此服务帐户的权利,因为我只想从 EAS 获取有关 设备,而不是进行任何远程擦除。顺便说一句,这也是如何 Microsoft IT 做到了这一点(阅读此处)然后继续执行向导:我刚刚设置 这是每周一次的完整发现,以及每天两次的 Delta 发现。所以,在这之后 向导,已与 CAS 服务器建立连接。尽你所能 看,路径 /powershell 已添加到 Exchange 的目标路径中 服务器。这是有道理的,因为它真正做的就是启动 PowerShell 针对 CAS 的 cmdlet,以从中获取信息。那么,我们是否看到任何设备 现在?首先让我们开始一个发现周期:然后看:那个设备有我的 名字写在上面(tee-hee)那么,我们能用它做什么呢?嗯,不是 很多:擦除,阻止,和..嗯。出色地。让我们看看那些报告 然后:哇。这是很多内置的报告。很酷!到此为止。 是时候开始忙碌了,启动一部旧的 Windows Mobile 6.5 手机,然后开始 做一些真正的管理。在下一篇文章中。”
得到的例外是
Exception in thread "main" java.lang.StackOverflowError
at java.util.regex.Pattern$LazyLoop.match(Unknown Source)
at java.util.regex.Pattern$GroupTail.match(Unknown Source)
at java.util.regex.Pattern$BranchConn.match(Unknown Source)
at java.util.regex.Pattern$CharProperty.match(Unknown Source)
at java.util.regex.Pattern$Branch.match(Unknown Source)
at java.util.regex.Pattern$GroupHead.match(Unknown Source)