�@

.NET TIPS

���K�\�����g���ĕ����񂩂畔�����������菜���ɂ́H�mC#�AVB�n

�f�W�^���A�h�o���e�[�W�@���� �F�M
2007/04/19

�@�uTIPS�F���K�\�����g���ĕ�����������擾����ɂ́H�v�ł́ARegex�N���X�iSystem.Text.RegularExpressions���O��ԁj��Match���\�b�h���g�p��������������̎��o���ɂ‚��ĉ���������A����ƕ��є�r�I�悭�K�v�ƂȂ镶���񏈗��ɁA����������̍폜������B

�@Regex�N���X�ɂ͐��K�\���̃p�^�[���Ƀ}�b�`����������������폜����Ƃ������\�b�h�͗p�ӂ���Ă��Ȃ����A�}�b�`����������ʂ̕�����ɒu��������Replace���\�b�h���p�ӂ���Ă���B���̂��߁A�u�������镶����Ƃ��ċ�̕�������w�肷�邱�Ƃɂ��A�p�^�[���Ƀ}�b�`�����������������菜�����Ƃ��ł���B

�p�^�[���Ƀ}�b�`�����������ʂ̕�����ɒu��������Replace���\�b�h

�@�����ł�HTML���̃^�O��������菜���A�e�L�X�g�݂̂��c�������ꍇ���Ɏ���ĉ�����悤�BHTML�̃^�O�����͐��K�\�����g���ĊȈՓI�Ɂu<.*?>�v�ƋL�q���邱�Ƃ��ł���*�B

* �u<.*?>�v�ł́A�u<�c�c<�c�c>�c�c>�v�̂悤�Ɂu<>�v�̃y�A������q�ɂȂ��Ă���ꍇ�Ɂu<�c�c<�c�c>�v�̕����ɂ����}�b�`���Ȃ��B���̂悤�ȓ���q��JavaScript�R�[�h���Ō���邱�Ƃ��������߁A���ۂ�HTML����e�L�X�g�݂̂����o���ꍇ�ɂ́A���炩����JavaScript�R�[�h�������폜���Ă����i�Ⴆ�Ό�q�̃T���v���E�v���O�����̂悤�Ɂu<(no)?script.*?script>�v�Ƀ}�b�`���镔�����󕶎���ɒu�������Ă����j�Ƃ悢���낤�B

�@Regex�N���X��Replace���\�b�h���g�p����ɂ́A���̂悤�ɂ܂��p�^�[�����w�肵��Regex�N���X�̃C���X�^���X���쐬���A����ɑ΂���Replace���\�b�h���Ăяo���B���\�b�h�̃p�����[�^�ɂ́A�}�b�`���O�̑ΏۂƂȂ錳�̕�����ƁA�u�������镶����i�����ł͋󕶎���j���w�肷��BReplace���\�b�h�̖߂�l���A�u��������ꂽ��̕�����ƂȂ�B

Regex re = new Regex("<.*?>", RegexOptions.Singleline);
string output = re.Replace(html, "");
Dim re As New Regex("<.*?>", RegexOptions.Singleline)
Dim output As String = re.Replace(html, "")
Regex�C���X�^���X�̍쐬��Replace���\�b�h�̌Ăяo���i��FC#�A���FVB�j
�ϐ�html�ɂ́A�����ΏۂƂȂ镶����i�����ł�HTML�̂��ׂĂ̓��e�j���������Ă�����̂Ƃ���B

�@HTML�̃^�O�͕����s�ɂ킽���ċL�q�����ꍇ�����邽�߁ARegexOptions.Singleline�I�v�V�������K�v�ɂȂ�B���̃I�v�V�����ɂ��A�p�^�[�����́u.�v�͉��s�����ɂ��}�b�`���O����悤�ɂȂ�B

HTML����^�O��������菜���T���v���E�v���O����

�@���̃T���v���E�v���O�����́A��IT�̃g�b�v�y�[�W�iindex.html�j��ǂݍ��݁AJavaScript��������т��ׂẴ^�O��������菜���ĕ\������B

// regexreplace.cs

using System;
using System.Net;
using System.Text.RegularExpressions;

class RegexReplace {
  static void Main() {

    // ��IT�̃g�b�v�y�[�W���擾
    WebClient wc = new WebClient();
    string html = wc.DownloadString("http://www.atmarkit.co.jp/");

    // <script>�`</script>��<noscript>�`</noscript>
    Regex re1 = new Regex("<(no)?script.*?script>",
        RegexOptions.IgnoreCase | RegexOptions.Singleline);

    // ���ׂẴ^�O
    Regex re2 = new Regex("<.*?>", RegexOptions.Singleline);

    html = re1.Replace(html, "");
    html = re2.Replace(html, "");

    Console.WriteLine(html);
  }
}

// �R���p�C�����@�Fcsc regexreplace.cs
HTML�̃^�O���폜����C#�̃T���v���E�v���O�����iregexreplace.cs�j

' regexreplace.vb

Imports System
Imports System.Net
Imports System.Text.RegularExpressions

Class RegexReplace
  Shared Sub Main()

    ' ��IT�̃g�b�v�y�[�W���擾
    Dim wc As New WebClient()
    Dim html As String = _
                  wc.DownloadString("http://www.atmarkit.co.jp/")

    ' <script>�`</script>��<noscript>�`</noscript>
    Dim re1 As New Regex("<(no)?script.*?script>", _
      RegexOptions.IgnoreCase Or RegexOptions.Singleline)

    ' ���ׂẴ^�O
    Dim re2 As New Regex("<.*?>", RegexOptions.Singleline)

    html = re1.Replace(html, "")
    html = re2.Replace(html, "")

    Console.WriteLine(html)
  End Sub
End Class

' �R���p�C�����@�Fvbc regexreplace.vb
HTML�̃^�O���폜����VB�̃T���v���E�v���O�����iregexreplace.vb�j

�@�Ȃ��A�uTIPS�F���K�\�����g���ĕ�����������擾����ɂ́H�v�Ŏg�p����Match���\�b�h��A�����Replace���\�b�h�ɂ́ARegex�N���X�̃C���X�^���X�쐬���s�v�ȐÓI���\�b�h�̃o�[�W�������p�ӂ���Ă���B

output = Regex.Replace(html, "<.*?>", "", RegexOptions.Singleline);
output = Regex.Replace(html, "<.*?>", "", RegexOptions.Singleline)
�ÓI���\�b�h�ł�Replace���\�b�h�̋L�q��i��FC#�A���FVB�j

�@���̃o�[�W�������g���ƃR�[�h�͒Z���Ȃ邪�A�����p�^�[����Replace���\�b�h�𕡐��̕�����ɑ΂��ČJ��Ԃ��g�p����悤�ȏꍇ�ɂ́A���炩���߃C���X�^���X���쐬�����������s�����͗ǂ��BEnd of Article

�J�e�S���F�N���X�E���C�u�����@�����ΏہF������
�g�p���C�u�����FRegex�N���X�iSystem.Text.RegularExpressions���O��ԁj
�g�p���C�u�����FRegexOptions�񋓑́iSystem.Text.RegularExpressions���O��ԁj
�֘ATIPS�F���K�\�����g���ĕ�����������擾����ɂ́H

���̋L���Ɗ֘A���̍����ʂ�.NET TIPS
�����񂩂����̕��������菜���ɂ́H�mC#�AVB�n�n
���K�\�����g���ĕ������u������ɂ́H�mC#�^VB�n
���K�\�����g���ĕ�����������擾����ɂ́H
���K�\�����g���ăp�^�[���Ɉ�v����S�Ă̕�����𒊏o����ɂ́H�mC#�^VB�n
���K�\�����g���ĕ����񂪃p�^�[���Ɉ�v���邩���ׂ�ɂ́H�mC#�^VB�n
���̃��X�g�́A�i���j�f�W�^���A�h�o���e�[�W���J������
�����֘A�L���T���V�X�e�� Jigsaw�i�W�O�\�[�j �ɂ�莩�����o�������̂ł��B
generated by

�u.NET TIPS�v


Insider.NET �t�H�[���� �V���L��
  • ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
    �@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă���
  • ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
    �@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤
  • ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
    �@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J���֐��v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg����
  • Presentation Translator �i2017/7/18�j
    �@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Insider.NET �L�������L���O

�{�� ����