ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

Windows10を入れてみて ~ VS2015も ~

もうだいぶ前ですが、タブレットPCのほうのWindows8.1をWindows10にアップグレードしました。

その感想を、そういえばまともに書いたことがなかったので、今回はそれを書きます。


まず、Windows8とくらべて、大きく使いやすくなっていますね。

Windows8では、デスクトップ画面とストアアプリ画面が全くの別物だったので切り替えが面倒な上に、設定などがいちいちストアアプリなので、非常に使いづらかったです。

しかし、Windows10ではストアアプリはユニバーサルウィンドウズプラットフォーム(UWP)アプリと名前を変えて、ウインドウの中にストアアプリがあるみたいな感じになったので、使いやすいですね。

ようするに、ストアアプリ画面というものはなくなって、全部デスクトップで出来るようになったわけです。

しかも、ウィンドウの中はストアアプリ式のUIなので、タッチパネルとの相性もいいという、Windows8の弱点を取り除いた究極系だなと思いました。


ちなみに、UWPは、WindowsのAPIを使っているわけではなく、そのサブセット的なもの(.NET CoreとUWP用APIみたいなやつ)を使っていて、Windowsでも、Windows Phoneでも、Xboxでも動作させることが出来るそうです。

.NET技術を中心に仕組みが整理されてきましたね。

続きを読む

tag: パソコン タブレット Microsoft Windows Windows10 VisualStudio レビュー ストレージ

正規表現の“否定”について勘違いと、アンカー

昔、正規表現の基本を学んで、もう基礎的なことは大丈夫だろうと思っていたんですが、思いがけない重大な勘違いをしていました。

“ある文字列でない文字列”の表現の方法なんですが、正規表現ではこの表現が非常にやりづらいみたいで、私のように躓いている人もいると思うのでメモします。

どういうときにこういう正規表現を書くのかというと、私はHTMLのタグ認識をさせていました。

たとえば、以下はXMLですが、

<Root>
<Element>
なまむぎなまごめなまたまご
</Element>
</Root>


このXMLから、Elementの要素、なまむぎなまごめなまたまごを抜き出すための正規表現みたいなのを書こうとしたわけです。

まず、文字列"<Element>"の直後のアンカーを表す"(?<=<Element>)"を書きます。

アンカーも、実は今までよくわかっていなかったので、これも後でメモします。

そして、Elementの要素はなんでもいいので".*"とします。

そして、".*"だけだと"</Root>"までマッチしてしまうので、"</Element">の直前が最後なのだということを表すため、そのアンカーを表す"(?=</Element>"を書きます。

というわけでパターン文字列は"(?<=<Element>).*(?=</Element>)"となります。


ちなみに、".*"の解釈は行末で終わってしまうというのがデフォルトなので、解析対象に改行があった場合は行の概念を無視するように設定しておきます。
続きを読む

tag: 正規表現 パターンマッチ 文字列処理 XML HTML アンカー

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。